首页 > 解决方案 > 使用 DAX 计算连接的行数

问题描述

我正在尝试使用 DAX 计算带有 POWER PIVOT 的指标。我正在尝试计算两个表之间的连接行:

想象一下我们有两张桌子:

一种用于销售:

ID   $   Agent
A321 14  Agent1
A122 89  Agent2
A432 45  Agent6
A999 32  Agent2

一个只有我团队的代理人:

Name   Agent
Jack   Agent1
Peter  Agent2
Bill   Agent3
Mell   Agent4

我只想统计我的团队进行的交易次数,您可以看到 agent6 不属于我的团队,因此 4 笔交易中有 3 笔是我的团队进行的。(预期输出)

我已经在 Power Pivot 中的模型中建立了表 1 的“代理”和表 2 的“代理”之间的关系

我尝试了几个公式,但没有成功创建足够的度量:

=COUNTROWS(INTERSECT('Table1';'table2'))

--> 表不一样,所以这不是我应该使用的函数

=COUNTROWS(FILTER('table2';'table2'[Agent] <> BLANK ()))

--> 它没有显示正确的输出(超过它应该因为这里没有考虑与表 1 的关系)

=COUNTROWS(FILTER(ALL(table1);Table1[agent] = table2[Agent]))

--> 不起作用(“无法确定 Table1[agent] 列的唯一值”)

这似乎很基本,但我无法计算出这个指标……也许我认为方法不对。任何帮助将不胜感激。谢谢你的关注。

标签: excelinner-joindaxpowerpivot

解决方案


最后,如果您想使用 DAX 计算两个表之间的交集行数,则使用正确的公式:

=COUNTROWS(NATURALINNERJOIN(table1;table2))

推荐阅读