具有雪花尺寸的MDX

时间:2015-02-18 10:36:39

标签: ssas mdx

我有一个普通的DimProduct,它有一个雪花DimPriceList,我为每个ProductKey不同的产品价格存储。

MDX中,根据某些产品属性,我想显示产品的不同价格。 MDX看起来像这样。

CASE 
WHEN [Dim Product].[Value Group].CurrentMember.MEMBERVALUE = '02' THEN
    CASE 
    WHEN [Dim Product].[Stock Account Nr].CurrentMember.MEMBERVALUE = 101 THEN
        ([Dim Price List].[Sales1])
    WHEN [Dim Product].[Stock Account Nr].CurrentMember.MEMBERVALUE = 102 OR  
            [Dim Product].[Stock Account Nr].CurrentMember.MEMBERVALUE = 103 THEN
        ([Dim Price List].[Valuation])
    ELSE
        0
    END
ELSE
    1 
END

我现在如何访问DimPriceList的当前成员值?我只是得到了所有'结果而不是当前成员的实际值。我也试过[Dim Price List]。[估价] .CurrentMember.MEMBERVALUE但没有成功。欣赏任何形式的帮助或提示。

1 个答案:

答案 0 :(得分:0)

您获得[All]成员,因为它是默认值。在没有任何范围的情况下,引擎将其计算基于默认成员。如果希望输出根据Product的当前成员进行更改,则应尝试创建计算成员。将上面的逻辑封装到脚本中,该脚本根据当前成员选择必要的度量。我假设你必须在你的立方体中以Measure的形式拥有Sales1Valuation。如果是这种情况,您的计算成员应根据您可以使用的MEMBERVALUE 选择必要的衡量标准

....
[Dim Product].[Stock Account Nr].CurrentMember IS [Dim Product].[Stock Account Nr].&[101]
....clause.

那就是说,你需要给出一些范围。