我试图根据维数进行动态计算。假设我有三维级别,但是使用相同的度量,比如Field1 / Field2来获得平均值。
相同的计算将适用于每个维度;但是,我在不同级别上使用不同的属性来计算平均值。
示例: Field1 / Field2在使用level1属性时被划分,dimension1 Field1 / Field2在使用level2属性时被划分,dimension2 Field1 / Field2在使用level3属性时被划分,dimension3
这是完全相同的计算,但在根据不同级别的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表达式,相当于根据维度级别计算属性。
发布于 2019-04-11 09:19:09
您可以检查这样的级别:
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
https://stackoverflow.com/questions/55620148
复制