Qual è il modo migliore per elencare un membro e tutti i suoi discendenti in MDX?

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

  •  02-07-2019
  •  | 
  •  

Domanda

In un database OLAP con cui lavoro esiste una gerarchia di 'Posizione' composta dai livelli Azienda, Regione, Area, Sito, Stanza, Fino a. Per una determinata azienda ho bisogno di scrivere un MDX che elenchi tutte le regioni, aree e siti (ma non tutti i livelli al di sotto del sito). Attualmente sto realizzando questo con il seguente MDX

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

Poiché la mia conoscenza di MDX è limitata, mi chiedevo se ci fosse un modo più semplice per farlo, con un solo comando piuttosto che quattro? C'è un modo meno dettagliato per raggiungere questo obiettivo o il mio esempio è l'unico vero modo per raggiungere questo obiettivo?

È stato utile?

Soluzione

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

Altri suggerimenti

Il comando che vuoi è DESCENDANTS. Tieni presente l'analogia dell '"albero genealogico" e puoi vedere che questo elencherà i discendenti di un membro, per quanto vuoi.

Puoi specificare la 'distanza' (in livelli) dal membro scelto, 3 nel tuo caso.

Ci sono alcune strane opzioni che puoi specificare con il terzo argomento, vuoi SELF_AND_AFTER, vedi http://msdn.microsoft.com/en-us/library/ms146075.aspx

EDIT - oops, come notato da santiiiii, dovrebbe essere SELF_AND_BEFORE

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top