根成员的后代 (MDX)

Descendants (MDX) of root member

环境:SSAS v12。

为什么下面的函数

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

return 仅 [Dim1].[Hier1].[(All)] ?

期望是 return 根成员及其所有后代。

或者如何实现?

PS 指定 [ , Level_Expression [ ,Desc_Flag ] ] 没有帮助...

非常感谢。

您可以指定要走多远,是到特定级别还是到树叶:

DESCENDANTS([Dim1].[Hier1].CurrentMember, [Dim1].[Hier1].[Hier1], LEAVES)

您可以尝试添加以下标志之一:

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]