2017-06-19 43 views
0

我創建了計算成員,其中一個顯示了具體機構的交易額百分比比率。具有分組價值的SSAS MDX查詢

Case When IsEmpty ([Measures].[Zlicz transakcje]) 
Then Null 
Else ROUND((([Klient].[Instytucja].[Klient].CurrentMember, 
    [Measures].[Zlicz transakcje]) 
/
    (Root ([Klient]), [Measures].[Zlicz transakcje])) *100, 2) 
End 

我查詢的結果是這樣的:

enter image description here

查詢:如何更改MDX查詢顯示使用百分比爲所有機構(除「布拉克instytucji」)中的一個分組行(我的意思是一行13,05的值)?

回答

1

夫婦的事情,我會建議

  • 沒有使用CASE - 一般RUL經驗法則是,IIF更快。
  • 爲了便於閱讀,我更喜歡DIVIDE函數。
  • 而不是Root爲什麼不只是使用ALL成員?

代碼現在會是這樣的:

IIF(
    [Measures].[Zlicz transakcje] = 0 
    , NULL 
    , ROUND(
     100 * 
     DIVIDE(
     ([Klient].[Instytucja].[Klient].CurrentMember, [Measures].[Zlicz transakcje]) 
     , ([Klient].[Instytucja].[All], [Measures].[Zlicz transakcje]) 
    ) 
     , 2 
    ) 

您可以創建排除布拉克instytucji聚集成員:

AGGREGATE(
    EXCEPT(
    [Klient].[Instytucja].[Klient].MEMBERS 
    ,[Klient].[Instytucja].[Klient].[Brak instytucji] 
) 
) 

+0

我應該在哪裏添加此聚合函數?在我的表達字段中的計算成員中,我只添加了您的IIF語句,並且它返回空值。 –