Powerbi 电源BI-所有页面上的过滤器均不可用

Powerbi 电源BI-所有页面上的过滤器均不可用,powerbi,dax,Powerbi,Dax,只是从电力BI开始 使用Power BI与SQL Server数据库的DirectQuery连接。(我怀疑SQL Server是否与该问题相关,但如果相关,我会将其添加到标记中。只需留下评论。) 我创建了一个“新列”,定义如下: FirstOfMonth = DATEVALUE('FiscalMonth'[CalYr] & "-" & RIGHT("0" & 'FiscalMonth'[CalMonthNum], 2) & "-01") 我使用的是一个数据集市,

只是从电力BI开始

使用Power BI与SQL Server数据库的DirectQuery连接。(我怀疑SQL Server是否与该问题相关,但如果相关,我会将其添加到标记中。只需留下评论。)

我创建了一个“新列”,定义如下:

FirstOfMonth = DATEVALUE('FiscalMonth'[CalYr] & "-" & RIGHT("0" & 'FiscalMonth'[CalMonthNum], 2) & "-01")
我使用的是一个数据集市,它是使用Kimball方法论和星形模式开发的。这意味着维度存在异常记录。FiscalMonth表的一部分可能如下所示:

+---------------+--------+-------------+--------------+---------+
| FiscalMonthId | CalYr  | CalMonthNum | CalMonthName | CalYrMo |
+---------------+--------+-------------+--------------+---------+
|             0 | <NULL> | <NULL>      | DWUnk        | DWUnk   |
|             1 | <NULL> | <NULL>      | DWNA         | DWNA    |
|             2 | <NULL> | <NULL>      | DWNH         | DWNH    |
|             3 | <NULL> | <NULL>      | DWNR         | DWNR    |
|             4 | <NULL> | <NULL>      | DWErr        | DWErr   |
|             5 | <NULL> | <NULL>      | DWSys        | DWSys   |
|             6 | <NULL> | <NULL>      |              |         |
|          5275 | 1991   | 7           | July         | 199107  |
|          5276 | 1991   | 8           | August       | 199108  |
|          5277 | 1991   | 9           | September    | 199109  |
+---------------+--------+-------------+--------------+---------+
这很好,直到

我在页面上放置了两个可视化效果。一个是折线图,另一个是表格。它们都使用相同的列(FirstOfMonth的计算如上所述,ProgramCode和ExpenditureAmount直接来自数据库)。当我点击一个vis进行过滤时,另一个vis会消失,并显示一条消息:

Can't display the visual. See details
当我点击查看详细信息时,我得到:

Couldn't load the data for this visual
Conversion failed when converting date and/or time from character string.. The exception was raised by the IDataReader interface.
但是我的
DATEVALUE
函数(在全局筛选器的上下文中)没有使用会导致此问题的数据值

当我尝试添加度量值时,也会发生同样的情况。我试过几种不同的方法。最近向
TOTALYTD
函数添加了一个过滤器:

Measure = TOTALYTD(sum(ExpenditureMonthlySummaryFact[ExpenditureAmount]),'FiscalMonth'[FirstOfMonth],'FiscalMonth'[FiscalMonthId]>99)
当我将度量值添加到vis时,会得到与上面相同的错误消息

在执行任何类型的计算或筛选时,Power BI似乎忽略了我的全局筛选


如果不更改我们的数据集市设计策略,我如何克服这一问题?

我建议您在查询步骤中(在查询编辑器中)过滤掉您知道永远不会在报表中使用的任何数据,而不是执行报表级筛选

这对于直接查询仍然可以很好地工作,因为它知道如何将过滤器折叠到传递回服务器的SQL查询中

Measure = TOTALYTD(sum(ExpenditureMonthlySummaryFact[ExpenditureAmount]),'FiscalMonth'[FirstOfMonth],'FiscalMonth'[FiscalMonthId]>99)