我有一个普通的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但没有成功。欣赏任何形式的帮助或提示。
答案 0 :(得分:0)
您获得[All]
成员,因为它是默认值。在没有任何范围的情况下,引擎将其计算基于默认成员。如果希望输出根据Product的当前成员进行更改,则应尝试创建计算成员。将上面的逻辑封装到脚本中,该脚本根据当前成员选择必要的度量。我假设你必须在你的立方体中以Measure的形式拥有Sales1
和Valuation
。如果是这种情况,您的计算成员应根据您可以使用的MEMBERVALUE
或选择必要的衡量标准
....
[Dim Product].[Stock Account Nr].CurrentMember IS [Dim Product].[Stock Account Nr].&[101]
....clause.
那就是说,你需要给出一些范围。