0


我有一个奇怪的 powerpivot,希望各位专家能提供帮助...
第一个表有协议 ID 和关联部门,第二个表有协议 ID 和关联收入(见下文),我还使用创建了表 1 和表 2 之间的连接协议 ID。
目前我有一个显示协议 ID 和总收入的数据透视表(全部来自第二个表)。我从第一个表创建了一个部门切片器。我希望这个切片器允许用户根据关联部门过滤协议(即如果选择“财务”,则只会显示协议 123/789)。现在,无论我在切片器中选择什么,所有三个协议出现在枢轴上。

Metric:=CALCULATE(SUM('Table2'[Revenue])


我做错了什么,我该如何解决这个问题?将不胜感激您可以提供的任何帮助/支持!

谢谢你,

表格1

AgreementID | Department
========================
123         | Sales
123         | Finance
123         | Consulting
123         | Marketing
456         | Sales
456         | Consulting
456         | Marketing
789         | Sales
789         | Finance
789         | Marketing

表 2

AgreementID | Revenue
=====================
123         | 900000
456         | 200000
789         | 400000
4

1 回答 1

3
Metric:=
CALCULATE(
    SUM(Table2[Revenue])
    ,Table1
)

您有一个异常的表结构,其中您的事实存在于一对多关系的一侧。在 DAX 中,您可以通过在关系的多方使用 CALCULATE() 中的表引用来强制上下文从多方“上坡”流动到 1。

如果使用 Power BI Desktop,您可以将筛选器设置为双向,避免必须专门编写措施来处理这种情况。这也将出现在表格 2016 中,因此也出现在 Excel 2016 中。

您还应该为您的表提供比 Table1 和 Table2 更好、更具描述性的名称。

下图显示了我的模型中的所有内容:

在此处输入图像描述

于 2015-11-09T22:11:44.283 回答