在MDX WITH子句中过滤层次结构 [英] Filtering hierarchies in MDX WITH clause

查看:80
本文介绍了在MDX WITH子句中过滤层次结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过使用在多个层次结构维度上的MDX 的答案,以下MDX查询:

By using the answer of MDX on multiple hierarchical dimensions I have the following MDX query:

with
member L1Y1 as ([Dim Location].[Hierarchy].[Center].&[1],
        [Dim Date].[Calendar Date].[Year].&[2010],
        [Measures].[x])                 
select ([Dim Attribute].[Parent Code].&[10000]) on 0, 
       ({L1Y1}) on 1
from DS

现在的问题是如何根据子项过滤L1Y1.例如,假设我们要对其进行过滤,以使查询中仅包括第2季和第7个月.以下查询输出与上述相同,并且where子句无效:

Now the problem is how to filter the L1Y1 based on its children. For example suppose we want to filter it so that only season 2 and month 7 included in the query. The following query output is the same as above and the where clause has no effect:

with
member L1Y1 as ([Dim Location].[Hierarchy].[Center].&[1],
        [Dim Date].[Calendar Date].[Year].&[2010],
        [Measures].[x])                 
select ([Dim Attribute].[Parent Code].&[10000]) on 0, 
       ({L1Y1}) on 1
from DS
where [Dim Date].[Calendar Date].[Season].&[2] and 
      [Dim Date].[Calendar Date].[Month].&[7]

推荐答案

怎么样:

with
member L1Y1 as ([Dim Location].[Hierarchy].[Center].&[1],
        [Dim Date].[Calendar Date].[Year].&[2010],
        [Measures].[x])
member S2 as ([Dim Location].[Hierarchy].[Center].&[1],
        [Dim Date].[Calendar Date].[Season].&[2],
        [Measures].[x])
member M7 as ([Dim Location].[Hierarchy].[Center].&[1],
        [Dim Date].[Calendar Date].[Month].&[7],
        [Measures].[x])     
select ([Dim Attribute].[Parent Code].&[10000]) on 0, 
       (L1Y1, S2, M7) on 1
from DS

我知道这是一种比较费力的方法,但是您会得到结果.如果您只想获得一个值,则可以尝试仅保留M7度量.

I understand it is a somewhat more laborous approach, but you would get the result. If you otherwise want to get a single value only you can try keeping only the M7 measure.

这篇关于在MDX WITH子句中过滤层次结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆