0

使用蒙德里安,我想在 MDX 查询中为每个轴获取级别。

例如 :

在列上选择非空 {Hierarchize({[Product].[Product Family].Members})}

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

FROM [销售]

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

预期结果是:

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

ROWS : [时间].[季度], [商店].[商店名称]

最近我使用了这段代码:

轴[i].getSet().getType().getLevel()

它适用于 COLUMNS 轴,但不适用于 ROWS 轴。我想这是由 ROWS 轴中的数量大于 1 引起的。

有什么方法可以在一个轴上获得超过 1 的水平?

谢谢。

4

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]})}
于 2013-04-01T09:11:31.657 回答