我正在尝试基于尺寸进行动态计算。假设我有3个维度级别,但使用相同的度量(如Field1 / Field2)来获取平均值。
相同的计算将应用于每个维度;但是我在不同的级别使用不同的属性来计算平均值。
示例: 使用级别1属性维度1时,将划分字段1 /字段2 使用级别2属性,维度2时,将划分字段1 /字段2 使用level3属性,维度3时,将划分Field1 / Field2
这是完全相同的计算,但是在基于不同级别的level1,level2和level3属性进行计算时,它们必须是动态的,
我对MDX还是很陌生,所以任何编码帮助都将不胜感激!
到目前为止我还没有尝试过任何东西,因为我需要一个代码示例来了解如何编写表达式。
我看过类似的东西,但不知道它是否在正确的范围内:
WITH MEMBER [Measures].[Booking Window Value] AS
[PNR Details].[Booking Window].CURRENTMEMBER.MEMBER_VALUE
MEMBER [Measures].[Avg Booking Window Value] AS
AVG([PNR Details].[Booking Window].[Booking Window].MEMBERS,[Measures].
[Booking Window Value])
SELECT
[Measures].[Avg Booking Window Value] ON COLUMNS
FROM
[SalesAnalysis]
我希望输出结果是MDX表达式,等效于根据维度级别计算属性。
答案 0 :(得分:1)
您可以像这样检查级别:
WITH MEMBER [Measures].[Booking Window Value] AS
CASE WHEN
[MyDimension].[MyHierarchy].CURRENTMEMBER.Level
IS
[MyDimension].[MyHierarchy].[Level1Name]
THEN
//Calculation for Level1
111
WHEN
[MyDimension].[MyHierarchy].CURRENTMEMBER.Level
IS
[MyDimension].[MyHierarchy].[Level2Name]
THEN
//Calculation for Level2
222
ELSE
333
END