MDX: как исключить возвращение предков в этом запросе? - PullRequest
0 голосов
/ 18 марта 2010

У меня есть запрос MDX:

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

..., который отлично работает, за исключением того, что он возвращает также всех предков указанных групп.Я хочу просто вернуть группы из иерархии с указанными именами групп (это измерение типа 2, поэтому их может быть много на разных уровнях).

Есть идеи?

Ответы [ 3 ]

1 голос
/ 29 ноября 2011

Заменить

[Group].[Group Hierarchy].allmembers 

с

[Group].[Group Hierarchy].[Group Hierarchy]
0 голосов
/ 18 марта 2010

Я подозреваю, что проблема связана со ссылкой на [Group]. [Group Hierarchy] .allmembers. Я предполагаю, что [Group Hierarchy] - это своего рода навигационная иерархия с несколькими уровнями. Похоже, вам нужно заменить [Иерархия групп] именем атрибута, содержащего членов группы вашего типа 2, чтобы получить список всех членов, которые существуют с указанными членами «Полное имя группы».

Я бы оставил подход Filter (..., Instr ()) в качестве крайней меры, поскольку он будет намного медленнее, чем операция на основе эквивалентного набора.

0 голосов
/ 18 марта 2010

фильтр ([Группа]. [Иерархия групп] .members, instr (@GroupGroupFullName, [Группа]. [Иерархия групп]. Свойства («Полное имя группы»))))

...