2015-10-28 21 views
0

自定義計算我有一個彙總表有兩個變量:的PowerPivot - 在總結表

SUMMARIZE(Table; 
      Table[Static1]; 
      Table[Static2]; 
      Table[Static3]; 
      "Total1Summarized"; MAX(Table[TOTAL1]); 
      "Total2Summarized"; MAX(Table[TOTAL2]) 
         ) 

我想通過創建兩個總結變量,使一個新的變量SUM(Total1Summarized)/SUM(Total2Summarized)

我知道我可以做這個任務並劃分另一個,但我認爲有一個總結更快的大計算。

我目前的解決方案:

創建兩個不同的變量:

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

劃分它們的SUM:

FinalVariable:=SUM([Variable1])/SUM([Variable2]) 

預先感謝您的答案!

回答

1

我認爲你是令人困惑的措施(12)和變量(34),它們在DAX中都是不同的概念。看起來你實際上想要創建一個度量。如果這是不正確的,請讓我知道,我會編輯這個答案更適合你。

你現在正在做的就是在措施方面。如您在第一個代碼示例中所示,創建單個SUMMARIZE()很容易。也就是說,在SUMMARIZE中獲得兩個投影列的總和並將它們分開。如果你只想要一個單一的措施,你可以劃分SUMX()直接S:

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(),雖然。

如果你想使用的變量,你可以定義你的總結()作爲一個變量,然後簡化SUMX()S:

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

抱歉不便,我的意思措施。據我所知,我不能在PowerPivot中使用_VAR_,並且我沒有PowerQuery。謝謝你澄清。 – user3816879