MDX:如何排除在此查询中返回的祖先?

时间:2010-03-17 21:15:25

标签: sql-server service mdx analysis

我有这个MDX查询:

Exists([Group].[Group Hierarchy].allmembers,
    {[Group].[Group Full Name].&[121 - Group A], [Group].[Group Full Name].&[700000 - Group C]})

...除了返回指定组的所有祖先之外,其工作正常。我想要的是返回JUST具有指定组名的层次结构中的组(这是一个类型2维度,因此在不同级别可能有很多)。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

替换

[Group].[Group Hierarchy].allmembers 

[Group].[Group Hierarchy].[Group Hierarchy]

答案 1 :(得分:0)

filter([Group]。[Group Hierarchy] .members,instr(@GroupGroupFullName,[Group]。[Group Hierarchy] .Properties(“Group Full Name”)))

答案 2 :(得分:0)

我怀疑问题在于对[Group]的引用。[Group Hierarchy] .allmembers。我猜测[Group Hierarchy]是某种具有多个级别的导航层次结构。听起来你需要做的是用包含你的类型2组成员的属性的名称替换[组层次结构],以获得与指定的“组全名”成员一起存在的所有成员的列表。

我会将Filter(...,Instr())方法作为最后的手段,因为它会比基于等效集的操作慢得多。