OLAP计算的度量基于另一个计算度量

时间:2016-09-22 17:10:52

标签: sql-server ssas mdx olap

如何添加基于其他计算度量的多维数据集计算(新计算度量)?简单地引用这个名称,给我NULL(我没有得到错误)。在改变到不同的度量后,我得到了正确的值。

措施1:

[Measures].[A] + [Measures].[B] - [Measures].[C]

措施2:

AGGREGATE(NULL:TAIL(EXISTING [Date].[Date].[Date].Members).Item(0), [Measures].[Measure 1])

1 个答案:

答案 0 :(得分:1)

使用第一个计算出的度量中的计算并添加到该计算中,以构建新计算度量的计算。

编辑:

作为我的意思的一个例子,说你有[measures].[CalcMeasure1]

具有[measures].[measure_A] + [measures].[measure_B]

的计算(定义)

您想要创建[measures].[CalcMeasure2] measure_C添加到CalcMeasure1,您可以给它定义:

[measures].[measure_A] + [measures].[measure_B] + [measures].[measure_C]

因此,要使用您问题中的代码,您的措施2将是:

AGGREGATE(NULL:TAIL(EXISTING [Date].[Date].[Date].Members).Item(0), ([Measures].[A] + [Measures].[B] - [Measures].[C]))

根据MSDN

  

表达式:指定生成值的表达式   计算成员。该表达式可以用多维编写   表达式(MDX)。表达式可以包含以下任何内容:

     

•表示多维数据集组件(如维度)的数据表达式   等级,措施等

     

•算术运算符

     

•数字

     

•函数

     

您可以从“元数据”选项卡中拖动或复制多维数据集组件   “计算工具”窗格可快速将它们添加到表达式中。

     

要在值表达式中使用的任何计算成员   必须在计算成员之前创建另一个计算成员   使用它。