如何在MDX中实现基于事实表上一属性的计算度量?
MDX实现自定义条件度量值方案
针对你的需求,可通过MDX的IIF()条件函数实现该度量值逻辑,核心是对比CurrentAtt与PreviousAtt的取值,返回对应结果值。
核心MDX查询示例
WITH -- 定义自定义计算度量值 MEMBER [Measures].[CustomCalculatedValue] AS IIF( [Measures].[CurrentAtt] <> [Measures].[PreviousAtt], [Measures].[PreviousValue], [Measures].[CurrentValue] ) SELECT -- 选择需要展示的度量,包含自定义度量 { [Measures].[CurrentAtt], [Measures].[PreviousAtt], [Measures].[CurrentValue], [Measures].[PreviousValue], [Measures].[CustomCalculatedValue] } ON COLUMNS, -- 替换为你实际业务需要的维度成员集合 [Date].[Date].[Date].MEMBERS ON ROWS FROM [YourCubeName] -- 替换为你的多维数据集名称
关键说明
IIF()是MDX中用于分支判断的函数,语法为IIF(条件表达式, 条件成立时返回值, 条件不成立时返回值)- 确保你的多维数据集中已将事实表的
CurrentAtt、PreviousAtt、CurrentValue、PreviousValue字段配置为基础度量(属于对应度量组) - 根据实际业务场景,替换查询中的维度(如
[Date].[Date].[Date].MEMBERS)和多维数据集名称([YourCubeName])
内容的提问来源于stack exchange,提问作者tarikqazza
相关产品推荐
相关产品推荐

