具有分组值的 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]
)
)
)
我创建了计算成员,其中一个显示交易金额与具体机构的百分比。
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]
)
)
)