2010-03-17 11 views
0

J'ai cette requête MDX:MDX: comment exclure des ancêtres d'être renvoyé dans cette requête?

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

... qui fonctionne très bien sauf qu'il retourne tous les ancêtres des groupes spécifiés ainsi. Ce que je veux, c'est retourner juste les groupes de la hiérarchie avec les noms de groupe spécifiés (c'est une dimension de type 2 donc il peut y en avoir beaucoup à différents niveaux).

Des idées?

Répondre

0

filtre (.Members, instr (@GroupGroupFullName, [Groupe]. [Groupe Hiérarchie] .Properties ("Groupe Nom complet" [Groupe]. [Groupe] Hiérarchie)))

0

Je soupçonne que la question est avec la référence à [Group]. [Group Hierarchy] .allmembers. Je devine que [Hiérarchie de groupe] est une sorte de hiérarchie de navigation avec plusieurs niveaux. Il semble que ce que vous devez faire est de remplacer [Hiérarchie de groupe] par le nom de l'attribut qui contient vos membres de groupe de type 2 afin d'obtenir une liste de tous les membres qui existent avec les membres "Nom complet de groupe" spécifiés. Je laisserais l'approche du filtre (..., Instr()) en dernier recours car elle serait beaucoup plus lente que l'opération basée sur l'ensemble équivalent.

+0

Merci pour le commentaire Darren. [Hiérarchie de groupe] est une hiérarchie parent-enfant d'une dimension SCD Type 2 ... ce qui signifie qu'avec le temps j'ai le même groupe à différents niveaux dans la hiérarchie. En tant que tel, le seul moyen que je puisse envisager pour identifier un groupe donné dans un tel arrangement est toujours par son nom (qui n'est pas sujet à un changement de type 2 et est unique à un groupe donné). Je dois utiliser la hiérarchie dans ma requête pour tous les décomptes et ce qu'il ne faut pas ajouter correctement. – wgpubs

+0

Une hiérarchie Parent-Enfant complique quelque peu les choses car EXISTS va amener tous les membres ancêtres. Utiliser Filter() peut en fait être la solution la plus simple dans ce cas. –

1

Remplacer

[Group].[Group Hierarchy].allmembers 

avec

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