MDX 显示测量 属性

MDX to show Measure property

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

问题是当我想要其属性的成员是 measure,而不是维度成员时。因为计算成员是在 Measures 层次结构上创建的,所以我得到了可怕的 "The Measures hierarchy already appears in the Axis0 axis" 错误。这是我的查询 运行:

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.在其他维度上创建计算成员

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]

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