Qual é a melhor maneira de listar um membro e todos os seus descendentes no MDX?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

Em um OLAP banco de dados que eu trabalho com existe uma hierarquia 'Location' consiste nos níveis da empresa, região, área, local, sala, Till. Para uma empresa particular, eu preciso escrever alguns MDX que lista todas as regiões, áreas e locais (mas não quaisquer níveis abaixo do Site). Atualmente estou conseguindo isso com o seguinte MDX

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

Porque o meu conhecimento de MDX é limitado, eu queria saber se havia uma maneira simples de fazer isso, com um único comando, em vez que quatro? Existe uma maneira menos detalhada de achieveing ??isso, ou é o meu exemplo a maneira única real de conseguir isso?

Foi útil?

Solução

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

Outras dicas

O comando que você quer é DESCENDENTES. Mantenha a analogia 'árvore genealógica' em mente, e você pode ver que este irá listar os descendentes de um membro, para baixo tanto quanto você quiser.

Você pode especificar a 'distância' (em níveis) do membro escolhido, 3 em seu caso.

Existem algumas opções estranhas que você pode especificar com o terceiro argumento, você quer SELF_AND_AFTER, consulte http://msdn.microsoft.com/en-us/library/ms146075.aspx

EDIT - oops, como santiiiii notado, deve ser SELF_AND_BEFORE

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top