¿Cuál es la mejor manera de enumerar a un miembro y todos sus descendientes en MDX?

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

  •  02-07-2019
  •  | 
  •  

Pregunta

En una base de datos OLAP con la que trabajo hay una jerarquía de 'Ubicación' que consta de los niveles Compañía, Región, Área, Sitio, Habitación, Hasta. Para una empresa en particular, necesito escribir algunos MDX que enumeren todas las regiones, áreas y sitios (pero no los niveles debajo del Sitio). Actualmente lo estoy logrando con el siguiente MDX

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

Debido a que mi conocimiento de MDX es limitado, me preguntaba si había una manera más simple de hacer esto, con un solo comando en lugar de cuatro. ¿Existe una forma menos detallada de lograr esto o mi ejemplo es la única forma real de lograr esto?

¿Fue útil?

Solución

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

Otros consejos

El comando que desea es DESCENDIENTES. Mantenga la analogía del 'árbol genealógico' en mente, y podrá ver que esto incluirá una lista de los descendientes de un miembro, tan lejos como lo desee.

Puede especificar la 'distancia' (en niveles) del miembro elegido, 3 en su caso.

Hay algunas opciones extrañas que puedes especificar con el tercer argumento, quieres SELF_AND_AFTER, consulta http://msdn.microsoft.com/en-us/library/ms146075.aspx

EDIT - oops, como santiiiii notó, debería ser SELF_AND_BEFORE

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top