Потомки (многомерные выражения) корневого члена

Среда: SSAS v12.

Почему следующая функция

DESCENDANTS([Dim1].[Hier1].[(All)])

возвращает только [Dim1].[Hier1].[(All)] ?

Ожидается возврат корневого члена и всех его потомков.

Или как этого добиться?

PS Указание [ , Level_Expression [ ,Desc_Flag ] ] не помогает...

Спасибо заранее.


person partinis    schedule 15.11.2017    source источник


Ответы (2)


Вы можете попробовать добавить один из флагов:

DESCENDANTS(
    [Dim1].[Hier1].[All]   //<<member
  , [Dim1].[Hier1].[(All)] //<<level
  , SELF_BEFORE_AFTER      //<<flag
)

Документация по этой функции находится здесь: https://docs.microsoft.com/en-us/sql/mdx/descendants-mdx

Документация дает возможность поэкспериментировать с различными флагами:

SELECT Descendants  
   ([Geography].[Geography].[Country].&[United States]  
      //, [Geography].[Geography].[Country]  
   , [Geography].[Geography].[City]  
      //, [Geography].[Geography].Levels (3)  
      //, SELF   
      //, AFTER  
      , BEFORE  
      // BEFORE_AND_AFTER  
      //, SELF_AND_AFTER  
      //, SELF_AND_BEFORE  
      //,SELF_BEFORE_AFTER  
      //,LEAVES   
   ) ON 0  
FROM [Adventure Works] 
person whytheq    schedule 20.11.2017

Вы можете указать, как далеко вы хотите идти, будь то определенный уровень или листья:

DESCENDANTS([Dim1].[Hier1].CurrentMember, [Dim1].[Hier1].[Hier1], LEAVES)
person Vinnie    schedule 15.11.2017
comment
Не помогает... Ожидаются потомки всех уровней. - person partinis; 15.11.2017
comment
Итак, вы хотите вернуть каждого члена каждого уровня для каждого члена? - person Vinnie; 15.11.2017