2015-08-03 40 views
0

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

问题是当我想要的属性的成员是度量,而不是维度成员。因为计算的成员是在度量层次结构中创建的,所以我遇到了“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

回答

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] 

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

+0

谢谢。设置的解决方案(2)给了我一个不匹配错误的维度,但是您的解决方案(1)起作用。 我从来没有想过把这个计算的成员放在另一个维度上。看起来很奇怪,当维度与查询本身无关时。 我想用哪个维度并不重要,只要它具有ALL作为默认成员?或者任何维度都可以完成这项工作? – SebTHU

+0

任何维度都应该有效。 – SouravA

+0

只是出于好奇 - 你能粘贴第一个解决方案的错误消息文本吗? – SouravA