Quel est le meilleur moyen de répertorier un membre et tous ses descendants dans MDX?

StackOverflow https://stackoverflow.com/questions/147953

  •  02-07-2019
  •  | 
  •  

Question

Dans une base de données OLAP avec laquelle je travaille, il existe une hiérarchie "Emplacement" comprenant les niveaux Société, Région, Zone, Site, Salle, Magasin. Pour une entreprise en particulier, j'ai besoin d'écrire un fichier MDX qui répertorie toutes les régions, zones et sites (mais pas les niveaux inférieurs à Site). Actuellement, j'y parviens avec le MDX suivant

HIERARCHIZE({
[Location].[Test Company], 
Descendants([Location].[Test Company], [Location].[Region]), 
Descendants([Location].[Test Company], [Location].[Area]), 
Descendants([Location].[Test Company], [Location].[Site])
})

Comme ma connaissance de MDX est limitée, je me demandais s’il existait un moyen plus simple de procéder, avec une seule commande plutôt que quatre. Existe-t-il un moyen moins verbeux d’atteindre cet objectif ou mon exemple est-il le seul véritable moyen d’y parvenir?

Était-ce utile?

La solution

DESCENDANTS([Location].[Test Company],[Location].[Site], SELF_AND_BEFORE)

Autres conseils

La commande que vous souhaitez utiliser est DESCENDANTS. Gardez à l'esprit l'analogie de «l'arbre généalogique», et vous pouvez voir qu'elle affichera la liste des descendants d'un membre, aussi loin que vous le souhaitez.

Vous pouvez spécifier la "distance" (en niveaux) du membre choisi, 3 dans votre cas.

Il y a quelques options étranges que vous pouvez spécifier avec le troisième argument, vous voulez SELF_AND_AFTER, voir http://msdn.microsoft.com/en-us/library/ms146075.aspx

EDIT - oups, comme l'a dit santiiiii, il devrait être SELF_AND_BEFORE

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top