Sumif使用页面,报告和可视级别过滤器

问题描述 投票:0回答:2

我有两个表由一个名为'Program_Code'的ID列相关联(1:很多)。

'PROGRAM_SUMMARY':

  • 程序代码=每行都有一个唯一的ID,例如HI-18,HI-17
  • 程序名称=程序的名称,例如家居装修
  • 奖励支出=计算(总和(Program_Data [Incentives]))

'Program_Data':

  • 程序代码=具有相同ID的许多行
  • 奖励金额=在“计划摘要”表中汇总的激励金额
  • 记录状态=已声明,管道或已拒绝
  • 记录财年= 2017年,2018年或2019年

我创建了一个Power BI表,其中包含按“Program Name”组织的行。注意,诸如“家庭装修”之类的每个程序名称可能具有多个与之关联的代码,例如, HI-18和HI-17对应财政年度。

我希望按计划名称汇总奖励支出,并使用页面/报告级别过滤器来限制结果。报告级别过滤器是:

  • 记录财年= 2017年
  • 记录状态=已声明

但是,calculate(sum(Program_Data [Incentives]))过滤器会忽略这些页面级过滤器。我该如何解决?

powerbi calculated-columns
2个回答
0
投票

您创建了“奖励支出”作为计算列。相反,您需要将其创建为度量。

计算列仅计算一次 - 创建时或重新加载数据时。之后,计算列仅包含静态数据,并且无法响应任何过滤器。

另一方面,度量是动态公式,可在您更改任何过滤器时重新计算。

要解决您的问题,只需从“建模”选项卡创建一个新度量:

enter image description here

并添加DAX代码:

Incentive Spending = SUM(Program_Data[Incentives])

(这里不需要使用CALCULATE)。

将此度量放入表格或矩阵中,它应该起作用。而不是页面/报告级别过滤器,我建议使用切片器 - 为会计年度创建切片器,并为记录状态创建另一个切片器。它们将允许您轻松过滤计算。


0
投票

您可以使用:

CALCULATE(sum(Program_Data[Incentives]);Program_Data[Record Fiscal Year] = 2017 && Program_Data[Record Status] = "Claimed")

但是,我不明白为什么你需要这个,因为你有2个表正确的链接,这应该给你所有可能的表/矩阵可视化你需要显示正确的结果..

© www.soinside.com 2019 - 2024. All rights reserved.