这应该很容易,但我必须遗漏一些明显的东西。我有以下PowerPivot表:
Level 1 Level 2 Amount
------- ------- ------
A X 100
A Y 200
B X 400
B Y 600
我试图构建一个度量(不是计算列),它迭代第2级中的每个项目,并将金额除以等级1的所有金额小计等于当前的等级1金额。
换句话说,我希望措施能够做到这一点
Level 1 Level 2 Measure
------- ------- ------
A X 100 / 300
A Y 200 / 300
B X 400 / 1,000
B Y 600 / 1,000
我试过这个:
AmountSum:=SUM(Table1[Amount])
Measure:= SUMX(Table1,
[AmountSum]/CALCULATE(SUMX(Table1, [AmountSum]), ALL(Table1[Level 2])))
我尝试过的这个和其他迭代总是最终显示为每个calc的含义意味着(或者它看起来)只有初始的Level 2行在计算分母时才在范围内,尽管我使用了全部。
提前感谢人们提供的任何建议!
修改 假设[AmountSum]逻辑依赖于并且需要在级别2的项目的行级别计算。它在上面的示例中进行了简化,但实际上它依赖于2级数据,而在1级级别应该只是在2级级别计算结果。
答案 0 :(得分:2)
试试这个:
AmountSum:=SUM(Table1[Amount])
Measure:= DIVIDE([AmountSum], CALCULATE([AmountSum], ALL(Table1[Level 2])))
如果必须在叶级别计算:
AmountSum:=SUMX(Table1, <YourMoreComplexCalcHere>)
Measure:= DIVIDE([AmountSum], CALCULATE([AmountSum], ALL(Table1[Level 2])))