如何正确编写集合的MDX表达式

时间:2014-01-14 13:24:42

标签: sql ssas mdx

我有二维层次结构:

  • 1 [Hierarchy1].[CityOfBirth]

  • 2 [Hierarchy2].[CityOfResidence]

这两个层次结构都包含相同的成员 - 城市

如何为包含两个维度的所有可能组合的集合编写MDX表达式

([Hierarchy1].[CityOfBirth].Member, [Hierarchy2].[CityOfResidence].Member)

但不包括那些

的元组

[Hierarchy1].[CityOfBirth].Member = [Hierarchy2].[CityOfResidence].Member

即。不应该有(纽约,纽约)或(芝加哥,芝加哥)这样的元组。

1 个答案:

答案 0 :(得分:0)

使用Filter,并过滤成员的Name属性:

Filter(([Hierarchy1].[CityOfBirth].Members * [Hierarchy2].[CityOfResidence].Members)
       as c,
       c.Current.Item(0).Name <> c.Current.Item(1).Name
       )

请注意,这可能需要一些时间才能运行,因为过滤器会在整个交叉产品中进行迭代。