PowerPivot – 在汇总表上自定义计算
我有一个两个variables的汇总表:
SUMMARIZE(Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total1Summarized"; MAX(Table[TOTAL1]); "Total2Summarized"; MAX(Table[TOTAL2]) )
我想做一个新的variablesSUM(Total1Summarized)/SUM(Total2Summarized)
我知道我可以通过创build两个相加的variables来完成这个任务,并将另一个相除,但是我认为对于大型计算来说,总结起来更快一些。
我目前的解决scheme
创build两个不同的variables:
Variable1:= SUMX( SUMMARIZE(Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total1Summarized"; MAX(Table[TOTAL1]) ); [Total1Summarized] ) Variable2:= SUMX( SUMMARIZE(Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total2Summarized"; MAX(Table[TOTAL2]) ); [Total1Summarized] )
除以他们的总和:
FinalVariable:=SUM([Variable1])/SUM([Variable2])
预先感谢您的答案!
我认为你是混乱的措施( 1,2 )和variables( 3,4 ),这两个概念在DAX中都是不同的概念。 看起来你实际上想创build一个度量。 如果这是不正确的,请让我知道,我会编辑这个答案更适合你。
你现在正在做的是在措施方面。 如您在第一个代码示例中所示,创build单个SUMMARIZE()很容易。 这就是说,总结两个投影列的总和,并将其分开。 如果你只需要一个度量,你可以直接将SUMX()分开:
SingleMeasure:= SUMX( SUMMARIZE( Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total1Summarized"; MAX(Table[TOTAL1]) ); [Total1Summarized] ) / SUMX( SUMMARIZE( Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total2Summarized"; MAX(Table[TOTAL2]) ); [Total2Summarized] )
不过,你不会消除双SUMX()。
如果你想使用variables,你可以定义你的SUMMARIZE()作为一个variables,然后简化你的SUMX():
SingleMeasure:= VAR sumtable = SUMMARIZE( Table; Table[Static1]; Table[Static2]; Table[Static3]; "Total1Summarized"; MAX(Table[TOTAL1]) "Total2Summarized"; MAX(Table[TOTAL2]) ); return SUMX( sumtable; [Total1Summarized] ) / SUMX( sumtable; [Total2Summarized] )