2013-03-31 64 views
0

使用Mondrian,我想在每个轴的MDX查询中获得水平。用Mondrian获得每个轴的MDX查询的水平

例如:

SELECT NON EMPTY {Hierarchize({[产品] [产品系列] .Members})} ON COLUMNS

NON EMPTY CROSSJOIN([时间] [季度]。 .Members,[存储]。[商店名称] .Members)ON ROWS

FROM [销售]

WHERE {Hierarchize({[措施] [单位销售额]})}

预期结果是:

列:[产品] [产品系列]

ROWS:。。[时间] [季度],[存储] [商店名称]

最近我用此代码:

轴[I] .getSet()的getType()getLevel()

它曾为。 COLUMNS轴,但它不适用于ROWS轴。 我想这是由ROWS轴中的长度大于1造成的。

有没有什么方法可以在轴的长度大于1的情况下获得高度?

谢谢。

回答

0

如何:

with 
member [Product].[Product Family].[Row current member] as 
[Time].[Quarter].currentmember.name + ', ' + 
[Store].[Store Name].currentmember.name 

然后在SELECT子句中包括的成员在列轴:

SELECT NON EMPTY Hierarchize({[Product].[Product Family].Members, 
       [Product].[Product Family].[Row current member]}) ON COLUMNS 

NON EMPTY CrossJoin([Time].[Quarter].Members, [Store].[Store Name].Members) ON ROWS 

FROM [Sales] 

WHERE {Hierarchize({[Measures].[Unit Sales]})} 
+0

感谢您的答复!无论如何,查询已经给出,所以我不应该修改它。我需要的是为每个轴中的每个元素提取关卡的信息。 –