【问题标题】:Get Level in MDX Query for each axis with Mondrian使用 Mondrian 在 MDX 查询中获取每个轴的级别
【发布时间】:2013-03-31 07:18:57
【问题描述】:

使用 Mondrian,我想在 MDX 查询中为每个轴获取 Level。

例如:

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

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

来自 [销售]

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

预期结果是:

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

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

最近我使用了这个代码:

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

它适用于 COLUMNS 轴,但不适用于 ROWS 轴。 我想这是由 ROWS 轴中的 arity 超过 1 引起的。

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

谢谢。

【问题讨论】:

    标签: mdx mondrian


    【解决方案1】:

    这个怎么样:

    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]})}
    

    【讨论】:

    • 感谢您的回复!无论如何,查询已经给出,所以我不应该修改它。我只需要提取每个轴中每个元素的级别信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多