powerbi - Sumif 使用页面、报表和可视级别过滤器
问题描述
我有两个表,它们由一个名为“Program_Code”(1:Many)的 ID 列相关联。
'Program_Summary':
程序代码 = 每行都有一个唯一的 ID,例如 HI-18、HI-17
程序名称 = 程序名称,例如 Home Improvement
奖励支出 = 计算(总和(Program_Data[Incentives]))
“程序数据”:
程序代码 = 具有相同 ID 的多行
奖励 = 计划汇总表中汇总的奖励金额
记录状态 = 已声明、正在处理或已拒绝
- 创纪录的财政年度 = 2017、2018 或 2019
我创建了一个 Power BI 表,其中包含按“程序名称”组织的行。请注意,每个程序名称(如“家居装修”)可能有多个关联代码,例如对应财政年度的 HI-18 和 HI-17。
我希望通过程序名称来总结激励支出,并使用页面/报告级别的过滤器来限制结果。报告级别过滤器是:
- 创纪录的财政年度 = 2017
- 记录状态 = 已声明
但是,calculate(sum(Program_Data[Incentives])) 过滤器会忽略这些页面级过滤器。我该如何解决?
解决方案
您创建了“激励支出”作为计算列。相反,您需要将其创建为measure。
计算列只计算一次 - 当您创建它们或重新加载数据时。之后,计算列只包含静态数据,不能响应任何过滤器。
另一方面,度量是动态公式,可在您更改任何过滤器时重新计算。
要解决您的问题,只需从“建模”选项卡创建一个新度量:
并添加 DAX 代码:
Incentive Spending = SUM(Program_Data[Incentives])
(此处无需使用 CALCULATE)。
将此度量放入表格或矩阵中,它应该可以工作。我建议不要使用页面/报告级别的过滤器,而是使用切片器 - 为会计年度创建一个切片器,为记录状态创建另一个切片器。它们将允许您轻松过滤计算。
推荐阅读
- kubernetes - 将流量从 Kubernetes pod 转发到本地服务器
- react-native - 防止 ScrollView 位于顶部,从安装内容略微滚动以避免状态栏
- mysql - MySQL:如果第一列在一个范围内,如何对多列索引进行排序?
- sql-server - SQL Server:如何从两个表中选择列并显示第二个表中最接近日期的相同值
- swift - SwiftUI View 文本字段未绑定到 ViewModel 属性
- azure-active-directory - 尝试使用 MSAL 在 SPO 中对用户进行身份验证时出现 401 未经授权的错误
- jquery - .attr () 方法是否添加或更改数据索引?
- python - Python NLTK ResolutionProver 在实际上没有解决方案时找到了解决方案
- python - 熊猫与平均值的百分比差异
- python - 第一次按键和第二次和第三次按键的区别?