하위 항목(MDX)

필요에 따라 다른 수준의 하위 항목을 포함하거나 제외하는 지정된 수준 또는 거리에서 멤버의 하위 항목 집합을 반환합니다.

구문

  
Member expression syntax using a level expression  
Descendants(Member_Expression [ , Level_Expression [ ,Desc_Flag ] ] )  
  
Member expression syntax using a numeric expression  
Descendants(Member_Expression [ , Distance [ ,Desc_Flag ] ] )  
  
Set expression syntax using a level expression  
Descendants(Set_Expression [ , Level_Expression [ ,Desc_Flag ] ] )  
  
Member expression syntax using a numeric expression  
Descendants(Set_Expression [ , Distance [ ,Desc_Flag ] ] )  
  

인수

Member_Expression
멤버를 반환하는 유효한 MDX(다차원 식) 식입니다.

Set_Expression
집합을 반환하는 유효한 MDX(다차원 식) 식입니다.

Level_Expression
수준을 반환하는 유효한 MDX 식입니다.

거리
지정된 멤버와의 거리를 지정하는 유효한 숫자 식입니다.

Desc_Flag
가능한 하위 항목 집합을 구분하는 설명 플래그를 지정하는 유효한 문자열 식입니다.

설명

수준을 지정하면 Descendants 함수는 지정된 멤버의 하위 항목 또는 지정된 집합의 멤버가 포함된 집합을 지정된 수준에서 Desc_Flag 지정된 플래그에 의해 선택적으로 수정된 집합을 반환합니다.

Distance를 지정하면 Descendants 함수는 지정된 멤버의 하위 항목 또는 지정된 멤버의 하위 항목이 포함된 집합을 반환하며, 지정된 멤버의 계층 구조에서 지정된 수의 수준인 지정된 집합의 멤버를 반환하며, 필요에 따라 Desc_Flag 지정된 플래그에 의해 수정됩니다. 일반적으로 이 함수와 Distance 인수를 사용하면 비정형 계층을 처리할 수 있습니다. 지정된 거리가 0이면 함수는 지정된 멤버 또는 지정된 집합으로만 구성된 집합을 반환합니다.

set 식을 지정하면 집합의 각 멤버에 대해 Descendants 함수가 개별적으로 확인되고 집합이 다시 만들어집니다. 즉, Descendants 함수에 사용되는 구문은 MDX Generate 함수와 기능적으로 동일합니다.

수준 또는 거리를 지정하지 않으면 함수에서 사용하는 수준의 기본값은 Level 함수(멤버>>)<<를 호출하여 결정됩니다. 지정된 멤버(멤버가 지정된 경우)에 대해 또는 지정된 집합의 각 멤버에 대해 Level 함수를 호출하여(집합이 지정된 경우) 수준입니다. 수준 식, 거리 또는 플래그가 지정되지 않은 경우 함수는 다음 구문을 사용한 것처럼 수행됩니다.

Descendants

(

Member_Expression ,

Member_Expression.Level ,

SELF_BEFORE_AFTER

)

수준을 지정하고 설명 플래그를 지정하지 않으면 함수는 다음 구문을 사용한 것처럼 수행됩니다.

Descendants

(

Member_Expression ,

Level_Expression,

SELF

)

설명 플래그 값을 변경하여 지정된 수준 또는 거리에서 하위 항목을 포함하거나 제외할 수 있습니다. 지정된 수준 또는 거리의 전/후에 있는 자식(리프 노드까지)은 물론, 지정한 수준이나 거리에 관계없이 리프 자식 항목을 포함 또는 제외할 수 있습니다. 다음 표에서는 Desc_Flag 인수에 허용되는 플래그에 대해 설명합니다.

플래그 설명
SELF 지정된 수준 또는 지정된 거리에서 하위 멤버만 반환합니다. 지정된 수준이 지정된 멤버의 수준인 경우 함수에 지정된 멤버가 포함됩니다.
AFTER 모든 수준의 하위 멤버를 지정된 수준 또는 거리로 반환합니다.
이전 지정된 멤버와 지정된 수준 사이의 모든 수준 또는 지정된 거리에서 하위 멤버를 반환합니다. 지정된 멤버를 포함하지만 지정된 수준 또는 거리의 멤버는 포함하지 않습니다.
BEFORE_AND_AFTER 모든 수준의 하위 멤버를 지정된 멤버의 수준으로 반환합니다. 이 함수는 지정된 멤버만 포함하고 지정된 수준이나 지정된 거리의 멤버는 포함하지 않습니다.
SELF_AND_AFTER 지정된 수준 또는 지정된 거리의 하위 멤버와 지정된 수준에 종속되거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다.
SELF_AND_BEFORE 지정된 수준이나 지정된 거리, 지정된 멤버와 지정된 수준 사이의 모든 수준 또는 지정된 멤버를 포함한 지정된 거리에서 하위 멤버를 반환합니다.
SELF_BEFORE_AFTER 지정된 멤버의 수준에 종속된 모든 수준의 하위 멤버를 반환하며, 지정된 멤버를 포함합니다.
LEAVES 지정된 멤버와 지정된 수준 사이의 리프 하위 멤버를 반환하거나 지정된 거리에서 반환합니다.

다음 예제에서는 지정된 멤버(미국)와 지정된 수준(City) 이전의 수준 멤버 사이의 멤버와 지정된 멤버(미국)를 반환하고, 이 예제에서는 지정된 멤버 자체(미국) 및 시/도 수준(도시 수준 이전 수준)의 멤버를 반환합니다. 이 예제에는 이 함수에 대한 다른 인수를 쉽게 테스트할 수 있도록 주석 처리된 인수가 포함되어 있습니다.

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]   

다음 예제에서는 Adventure Works 큐브에서 2003 회계 연도의 매월 일 단위로 계산된 측정값의 일일 평균 Measures.[Gross Profit Margin]반환합니다. Descendants 함수는 계층의 현재 멤버에서 결정된 일 집합을 [Date].[Fiscal] 반환합니다.

WITH MEMBER Measures.[Avg Gross Profit Margin] AS Avg  
   (  
      Descendants( [Date].[Fiscal].CurrentMember,   
           [Date].[Fiscal].[Date]  
          ),   
        Measures.[Gross Profit Margin]  
   )  
SELECT  
   Measures.[Avg Gross Profit Margin] ON COLUMNS,  
   [Date].[Fiscal].[Month].Members ON ROWS  
FROM [Adventure Works]  
WHERE ([Date].[Fiscal Year].&[2003])  

다음 예제에서는 수준 식을 사용하고 호주의 각 주-지방의 Internet Sales Amount를 반환하고 각 주-주별 총 호주 인터넷 판매액의 백분율을 반환합니다. 이 예제에서는 Item 함수를 사용하여 Ancestors 함수에서 반환되는 집합에서 첫 번째(및 유일한) 튜플을 추출합니다 .

WITH MEMBER Measures.x AS   
   [Measures].[Internet Sales Amount] /   
   ( [Measures].[Internet Sales Amount],  
      Ancestors   
         ( [Customer].[Customer Geography].CurrentMember,   
           [Customer].[Customer Geography].[Country]  
         ).Item (0)  
   ), FORMAT_STRING = '0%'  
SELECT {[Measures].[Internet Sales Amount], Measures.x} ON 0,  
{Descendants   
   ( [Customer].[Customer Geography].[Country].&[Australia],   
     [Customer].[Customer Geography].[State-Province], SELF   
   )    
} ON 1  
FROM [Adventure Works]  
  

참고 항목

MDX 함수 참조(MDX)