计算成员的条件公式
Conditional formula for Calculated member
我在多维数据集中创建了计算成员,如下所示:
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)
else if 任何其他措施
聚合([时间].[时间].currentmember:[时间].[时间].currentmember.Lag(11), [自定义].[频率].defaultMember)
保持初始计算不变(使用 aggregate() 函数)。
您只能为此度量编写范围:
SCOPE([Custom].[Rolling 12],[Measures].[Average Balance]);
THIS = {your custom average calculation};
END SCOPE;
或w/o SCOPE 它必须以这种方式工作:
([Custom].[Rolling 12],[Measures].[Average Balance]) = {your custom average calculation};
我在多维数据集中创建了计算成员,如下所示:
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)
else if 任何其他措施
聚合([时间].[时间].currentmember:[时间].[时间].currentmember.Lag(11), [自定义].[频率].defaultMember)
保持初始计算不变(使用 aggregate() 函数)。
您只能为此度量编写范围:
SCOPE([Custom].[Rolling 12],[Measures].[Average Balance]);
THIS = {your custom average calculation};
END SCOPE;
或w/o SCOPE 它必须以这种方式工作:
([Custom].[Rolling 12],[Measures].[Average Balance]) = {your custom average calculation};