我在多维数据集中创建了计算成员,如下所示:
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)
答案 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};