计算成员的条件公式

时间:2018-11-01 10:05:40

标签: ssas mdx

我在多维数据集中创建了计算成员,如下所示:

CREATE MEMBER [Custom].[Rolling 12] as Aggregate([Time].[Time].currentmember:[Time].[Time].currentmember.Lag(11), [Custom].[Frequency].defaultMember)

对于多维数据集中的任何度量,它将在过去12个月内进行汇总。但是我有“平均余额”度量标准,该度量标准不应汇总,而应在上述定义的同一时期内平均。

因此,是否可以编写如下代码(伪代码):

CREATE MEMBER [Custom].[Rolling 12] as 

如果度量名称=平均余额,则

平均值([时间]。[时间] .currentmember:[时间]。[时间] .currentmember.Lag(11),[自定义]。[频率] .defaultMember)

否则任何其他措施

Aggregate([Time]。[Time] .currentmember:[Time]。[Time] .currentmember.Lag(11),[Custom]。[Frequency] .defaultMember)

1 个答案:

答案 0 :(得分:2)

保留初始计算的原样(使用aggregate()函数)。

您只能为此度量编写一个范围:

SCOPE([Custom].[Rolling 12],[Measures].[Average Balance]);
THIS = {your custom average calculation};
END SCOPE;

或者没有范围,它必须以这种方式工作:

([Custom].[Rolling 12],[Measures].[Average Balance]) = {your custom average calculation};