【发布时间】:2020-03-13 03:22:59
【问题描述】:
假设我有 2 张桌子:
fTransactions
ProdID RepID Revenue
1 1 10
1 1 10
1 2 10
dSalesReps
RepID RepName
1 joe
2 sue
dSalesReps 具有以下度量但尚未应用过滤器:
RepSales:=CALCULATE(SUM(fTransactions[Revenue]))
RepSales2:=SUMX(fTransactions, CALCULATE(SUM(fTransactions[Revenue]))
第一个措施执行我认为的方式。它转到 fTransactions 表并汇总 Revenue 列。
第二个措施,经过大量的试验和错误来弄清楚,似乎在 fTransactions 中的唯一行上将自己分组。在上面的示例中,fTransactions 有 2 行所有内容都相同,最后一行内容不同。这似乎导致以下结果:
(10 + 10) 对第一个“分组”求和的第一次迭代
+
(10 + 10) 第二次迭代,再次对第一个“分组”求和
+
(10) 对第二个“分组”求和的最后一次迭代
= 20 + 20 + 10 = 50
至少它看起来是这样运作的。我只是不明白为什么。我认为它会转到 fTransactions 表,将每次迭代的所有收入相加,然后将这些总和作为最后一步。
【问题讨论】:
-
太棒了。这看起来和我遇到的一样。谢谢。
标签: excel dax powerpivot