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] )