Power BI-不接受所有页面上的过滤器

时间:2019-12-06 21:26:44

标签: powerbi dax

仅从Power BI开始...

将Power BI与DirectQuery连接使用到SQL Server数据库。 (我怀疑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  |
+---------------+--------+-------------+--------------+---------+

如您所见,CalYr或CalMonthNum在某些情况下可能为空。但是我知道我需要的数据不会涉及任何异常记录(ID范围为0-99),因此我在“所有页面上的过滤器”部分中添加了一个过滤器,以防止出现问题。 / p>

FiscalMonthId is greater than 99

这很好,直到...

我在页面上放置了两个可视化对象。一个是折线图,另一个是表格。它们都使用相同的列(如上所述计算FirstOfMonth,ProgramCode和ExpenditureAmount直接来自数据库)。当我单击一个可见滤镜时,另一个可见消失:

Can't display the visual. See details

当我点击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似乎都忽略了全局过滤器。

短期更改我们的数据集市设计策略,我该如何克服?

1 个答案:

答案 0 :(得分:1)

建议不要过滤掉您知道永远不会在报表中用作查询步骤(在查询编辑器中)的数据的任何数据。

这对于直接查询仍然可以正常使用,因为它知道如何将过滤器折叠到传递回服务器的SQL查询中。