Sumif 使用页面、报告和视觉级别过滤器

Sumif using page, report and visual level filters

我有两个 table,它们通过一个名为 'Program_Code' (1:Many) 的 ID 列相关联。

'Program_Summary':

'Program_Data':

我创建了一个 Power BI table,其中的行按 'Program Name' 组织。请注意,每个程序名称如 "Home Improvement" 可能有多个代码与之关联,例如HI-18和HI-17对应会计年度。

我希望按项目名称汇总激励支出,并使用 page/report 级别过滤器来限制结果。报告级别过滤器是:

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

您可以使用:

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

但是,我不明白你为什么需要这个,因为你有 2 个表 link,这应该为你提供 table/matrix 可视化的所有可能性,你需要显示正确的内容结果..

您创建了 "Incentive Spending" 作为计算列。相反,您需要将其创建为 measure.

计算列仅计算一次 - 当您创建它们时,或当您重新加载数据时。之后,计算列只包含静态数据,不能响应任何过滤器。

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

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

并添加 DAX 代码:

Incentive Spending = SUM(Program_Data[Incentives])

(此处无需使用 CALCULATE)。

将此度量放入 table 或矩阵中,它应该会起作用。我建议使用切片器,而不是 page/report 级过滤器——为财政年度创建一个切片器,为记录状态创建另一个切片器。它们将允许您轻松过滤计算。