具有分组值的 SSAS MDX 查询

SSAS MDX Query with Grouped Value

我创建了计算成员,其中一个显示交易金额与具体机构的百分比。

 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

我的查询结果如下:

查询:如何更改 MDX 查询以显示所有机构("Brak instytucji" 除外)的百分比使用情况并分组为一行(我的意思是一行有 13,05 个值)?

我推荐几样东西

  • 不使用 CASE - 一般的经验法则是 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]
  )
)

)