Power BI - 所有页面上的筛选器都不受支持

Power BI - Filters on all pages not honored

提问人:dougp 提问时间:12/7/2019 最后编辑:dougp 更新时间:1/20/2022 访问量:410

问:

刚开始使用 Power 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  |
+---------------+--------+-------------+--------------+---------+

如您所见,在某些情况下,CalYr 或 CalMonthNum 可能为 null。但我知道我需要的数据不会涉及任何异常记录(ID 范围 0-99),所以我在“过滤所有页面”部分添加了一个过滤器,希望不要成为问题。

FiscalMonthId is greater than 99

这很好用,直到......

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

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)

当我将度量值添加到可见光时,我收到与上述相同的错误消息。

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

如果不改变我们的数据集市设计策略,我该如何克服这一点?

PowerBI DAX

评论


答:

3赞 Alexis Olson 12/7/2019 #1

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

这应该仍然适用于直接查询,因为它知道如何将筛选器折叠到传递回服务器的 SQL 查询中。