powerbi - Power BI - 所有页面上的筛选器均未兑现

标签 powerbi dax

刚刚开始使用 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 在某些情况下可能为空。但我知道我需要的数据不会涉及任何异常记录(ID 范围 0-99),所以我在“所有页面上的过滤器”部分添加了一个过滤器,希望不会成为问题。

FiscalMonthId is greater than 99

这工作正常,直到......

我在页面上放置了两个可视化效果。一个是折线图,另一个是表格。它们都使用相同的列(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 查询中。

关于powerbi - Power BI - 所有页面上的筛选器均未兑现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59220541/

相关文章:

powerbi - Power BI写回sql源

r - 如何在 Power Query 中使用 R 转换步骤获取线性回归模型参数

excel - 获取一天最后一个条目的值

DAX 公式来计算分组依据与过滤器

powerbi - 在 Power BI 中创建按国家/地区和品牌返回 DISTINCT COUNT 的度量

azure - 使用应用程序注册获取 Microsoft 不记名 token 并从数据集中读取

c# - 如何隐藏 power bi 报告的过滤器部分?

powerbi - 如何在 Power BI 中的切片器中筛选数据

sql-server - 函数计算已在真/假表达式中使用,该表达式用作不允许的表过滤器表达式

powerpivot - 让 DAX 返回 0 而不是空白