MDX显示Measure属性

时间:2015-08-03 10:42:38

标签: ssas mdx olap

我熟悉如何将成员属性导入MDX结果集:使用WITH创建计算成员。

问题是当我想要的属性是度量而不是维度成员时。因为计算成员是在Measures层次结构上创建的,所以我得到了可怕的" The Measures层次结构已经出现在Axis0轴"错误。这是我正在运行的查询:

WITH MEMBER Measures.MeasureType AS  
Measures.CurrentMember.Properties('MEMBER_TYPE')
SELECT
MeasureType ON 0,
Measures.Members on 1
FROM TheCube

我所追求的仅仅是所有措施ON 1的列表(这本身就有效);但是测量的MEMBER_TYPE显示为一列ON 0

1 个答案:

答案 0 :(得分:0)

您不能在两个轴上拥有来自同一层次结构的成员。有两种方法可以摆脱这个错误。

<强> 1。在其他维度上创建计算成员

WITH MEMBER [SomeDimension].[SomeHierarchy].MeasureType AS  
Measures.CurrentMember.Properties('MEMBER_TYPE')

SELECT
[SomeDimension].[SomeHierarchy].MeasureType ON 0,
Measures.Members on 1
FROM [TheCube]

<击>

<击>

<强> 2。将它们放在一组而不是在不同的轴上。

WITH MEMBER Measures.MeasureType AS  
Measures.CurrentMember.Properties('MEMBER_TYPE')

SELECT
{Measures.MeasureType, Measures.Members} ON 0
FROM [TheCube]

<击>

丢弃第二种方法,因为它给出了静态值。真正需要的是交叉表值。所以坚持第一种方法。