具有分组值的SSAS MDX查询

时间:2017-06-19 21:01:33

标签: sql-server 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查询以显示分组在一行中的所有机构(“Brak instytucji”除外)的百分比用法(我的意思是一行有13,05值)?

1 个答案:

答案 0 :(得分:1)

我推荐的一些事情

  • 不使用CASE - 一般的rul-of-thumb是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 
    )

您可以创建一个排除Brak instytucji的聚合成员:

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