首页 > 解决方案 > SSAS 计算的度量未使用其过滤维度进行切片

问题描述

我已经创建了一个这样的度量,问题是它没有用自己的维度进行切片。是这样预期还是我错过了什么。我是 MDX 脚本的新手,任何帮助将不胜感激。

CREATE MEMBER CURRENTCUBE.[Measures].[CHARGE_CODE_TEST]
 AS Aggregate([Charege].[Station].&[CA2],[Measures].[Inv Line Amt]), 
VISIBLE = 1  ; 

在此处输入图像描述

CREATE MEMBER CURRENTCUBE.[Measures].[CHARGE_CODE_TEST]
     AS Aggregate({[Charege].[Station].&[CA1],[Charege].[Station].&[CA2]},[Measures].[Inv Line Amt]), 
    VISIBLE = 1  ; 

在此处输入图像描述

标签: ssasmdxcubemsbimultidimensional-cube

解决方案


它应该像那样工作 - 它按照你编写的方式工作 - 无论[Charege].[Station]你正在查看哪个层次结构成员[CHARGE_CODE_TEST],它总是会在第一种情况下聚合[Inv Line Amt][Charege].[Station].&[CA2]在第二种情况下聚合 CA1 和 CA2。如果您从 Aggregate 函数中删除这些成员,那么它将在当前单元格的上下文中显示数字,就像这样[Measures].[Inv Line Amt]做一样。

在第一种情况下尝试这样的事情:

CREATE MEMBER CURRENTCUBE.[Measures].[CHARGE_CODE_TEST]
 AS IIf([Charege].[Station].CurrentMember IS [Charege].[Station].&[CA2], ([Charege].[Station].&[CA2],[Measures].[Inv Line Amt]), 0)  , 
VISIBLE = 1  ; 

而且,如果我理解正确,这应该是第二种情况:

    CREATE MEMBER CURRENTCUBE.[Measures].[CHARGE_CODE_TEST]
     AS IIf([Charege].[Station].CurrentMember IS [Charege].[Station].&[CA2]
OR [Charege].[Station].CurrentMember IS [Charege].[Station].&[CA1], ({[Charege].[Station].&[CA1],[Charege].[Station].&[CA2]},[Measures].[Inv Line Amt]), 0)  , 
    VISIBLE = 1  ; 

推荐阅读