在SUM内部过滤MDX中的维度

时间:2013-09-02 19:26:52

标签: mdx olap

我是MDX表达式的新手,我正在尝试创建一个对按维度过滤的给定度量值进行求和的算法。

在我的数据库中,我有几个具有相同名称的不同维度:“答案”。总结一下,我创建了以下查询:

WITH MEMBER Measures.Total as SUM ({[Activity].[Activity].&[14], [Activity][Activity].&[22]}, 
[Measures].[Activity time])
SELECT NON EMPTY [Measures].[Total] on COLUMNS from  [My Analytics]

此查询有效,但我必须使用与“两个”不同“答案”维度相对应的“& [14]”和“& [22]”语句。

由于我有两个以上相同名称的维度,有没有办法重写上面的查询,我会选择所有这些维度而不必添加其唯一ID?例如,我会重写这样的查询:

WITH MEMBER Measures.Total as SUM ({[Activity].[Activity].&["Answer"]}, 
[Measures].[Activity time])
SELECT NON EMPTY [Measures].[Total] on COLUMNS from  [My Analytics]

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用Filter功能,如下所示:

with 
  set [my-answers] as 
      Filter( [Activity].[Activity].members, 
              [Activity].[Activity].currentMember.name = 'Answer' 
      )

   member [Measures].[Total] as Sum( [my-answers] )

...