Descendants(MDX)Descendants (MDX)

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

지정한 수준 또는 거리에서 멤버의 하위 항목 집합을 반환합니다. 다른 수준의 하위 항목은 포함하거나 제외할 수 있습니다.Returns the set of descendants of a member at a specified level or distance, optionally including or excluding descendants in other levels.

구문Syntax


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 ] ] )  

인수Arguments

Member_ExpressionMember_Expression
멤버를 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a member.

Set_ExpressionSet_Expression
집합을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a set.

Level_ExpressionLevel_Expression
수준을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a level.

거리Distance
지정된 멤버와의 거리를 지정하는 유효한 숫자 식입니다.A valid numeric expression that specifies the distance from the specified member.

Desc_FlagDesc_Flag
가능한 각 하위 항목 집합을 구별할 수 있는 설명 플래그를 지정하는 유효한 문자열 식입니다.A valid string expression specifying a description flag that distinguishes among possible sets of descendants.

주의Remarks

수준이 지정 된 경우는 하위 항목 함수에 지정 된 플래그에 의해 수정 필요에 따라 지정 된 수준에서 지정된 된 집합의 멤버나 지정된 된 멤버의 하위 항목을 포함 하는 집합을 반환 Desc_Flag합니다.If a level is specified, the Descendants function returns a set that contains the descendants of the specified member or the members of the specified set, at a specified level, optionally modified by a flag specified in Desc_Flag.

경우 거리 지정는 하위 항목 함수 수준에서 지정 된 플래그로 수정 필요에 따라, 지정된 된 멤버의 계층 구조에서 지정 된 수 만큼 위에 있는 지정된 된 집합의 멤버 또는 지정된 된 멤버의 하위 항목을 포함 하는 집합을 반환 Desc_Flag합니다.If Distance is specified, the Descendants function returns a set that contains the descendants of the specified member or the members of the specified set that are the specified number of levels away in the hierarchy of the specified member, optionally modified by a flag specified in Desc_Flag. 일반적으로 이 함수와 Distance 인수를 사용하면 비정형 계층을 처리할 수 있습니다.Typically, you use this function with the Distance argument to deal with ragged hierarchies. 지정된 거리가 0인 경우 이 함수는 지정된 멤버나 지정된 집합으로만 구성된 집합을 반환합니다.If the specified distance is zero (0), the function returns a set that consists only of the specified member or the specified set.

집합 식이 지정 된 경우는 하위 항목 함수는 집합의 각 멤버에 대해 개별적으로 확인 하 고 집합 다시 생성 됩니다.If a set expression is specified, the Descendants function is resolved individually for each member of the set, and the set is created again. 즉,에 사용 되는 구문에서 하위 항목 함수는 MDX 기능적으로 동일 생성 함수입니다.In other words, the syntax used for the Descendants function is functionally equivalent to the MDX Generate function.

함수에서 사용 되는 수준에 대 한 기본값은 호출 하 여 결정 수준 또는 거리를 지정 하는 경우는 수준 함수 (<<멤버 >> 합니다. 수준)를 호출 하거나 (멤버가 지정 된 경우) 지정 된 멤버는 수준 (집합이 지정 된 경우) 지정된 된 집합의 각 멤버에 대해 작동 합니다.If no level or distance is specified, the default value for the level used by the function is determined by calling the Level function (<<Member>>.Level) for the specified member (if a member is specified) or by calling the Level function for each member of the specified set (if a set is specified). 수준 식, 거리 또는 플래그가 지정되지 않은 경우 이 함수가 수행하는 작업은 다음 구문이 사용된 경우와 같습니다.If no level expression, distance or flags are specified, the function performs as if the following syntax were used:

Descendants

(

Member_Expression ,

Member_Expression.Level ,

SELF_BEFORE_AFTER

)

수준만 지정되고 설명 플래그는 지정되지 않은 경우 이 함수가 수행하는 작업은 다음 구문이 사용된 경우와 같습니다.If a level is specified and a description flag is not specified, the function performs as if the following syntax were used.

Descendants

(

Member_Expression ,

Level_Expression,

SELF

)

설명 플래그 값을 변경하여 지정된 수준 또는 거리에서 하위 항목을 포함하거나 제외할 수 있습니다. 지정된 수준 또는 거리의 전/후에 있는 자식(리프 노드까지)은 물론, 지정한 수준이나 거리에 관계없이 리프 자식 항목을 포함 또는 제외할 수 있습니다.By changing the value of the description flag, you can include or exclude descendants at the specified level or distance, the children before or after the specified level or distance (until the leaf node), and the leaf children regardless of the specified level or distance. 다음 표에서 설명에 허용 되는 플래그는 Desc_Flag 인수입니다.The following table describes the flags allowed in the Desc_Flag argument.

플래그Flag DescriptionDescription
SELFSELF 지정된 수준 또는 지정된 거리에 있는 하위 멤버만 반환합니다.Returns only descendant members from the specified level or at the specified distance. 이 함수는 지정된 수준이 지정된 멤버의 수준인 경우 지정된 멤버를 포함합니다.The function includes the specified member, if the specified level is the level of the specified member.
AFTERAFTER 지정된 수준에 종속되거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다.Returns descendant members from all levels subordinate to the specified level or distance.
BEFOREBEFORE 지정된 멤버와 지정된 수준 사이에 있거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다.Returns descendant members from all levels between the specified member and the specified level, or at the specified distance. 이 함수는 지정된 멤버만 포함하고 지정된 수준이나 거리의 멤버는 포함하지 않습니다.It includes the specified member, but does not include members from the specified level or distance.
BEFORE_AND_AFTERBEFORE_AND_AFTER 지정된 멤버의 수준에 종속된 모든 수준의 하위 멤버를 반환합니다.Returns descendant members from all levels subordinate to the level of the specified member. 이 함수는 지정된 멤버만 포함하고 지정된 수준이나 지정된 거리의 멤버는 포함하지 않습니다.It includes the specified member, but does not include members from the specified level or at the specified distance.
SELF_AND_AFTERSELF_AND_AFTER 지정된 수준 또는 지정된 거리의 하위 멤버와 지정된 수준에 종속되거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다.Returns descendant members from the specified level or at the specified distance and all levels subordinate to the specified level, or at the specified distance.
SELF_AND_BEFORESELF_AND_BEFORE 지정된 수준 또는 지정된 거리에 있는 하위 멤버와, 지정된 멤버와 지정된 수준 사이 또는 지정된 거리에 있는 모든 수준의 하위 멤버를 반환하며, 지정된 멤버를 포함합니다.Returns descendant members from the specified level or at the specified distance, and from all levels between the specified member and the specified level, or at the specified distance, including the specified member.
SELF_BEFORE_AFTERSELF_BEFORE_AFTER 지정된 멤버의 수준에 종속된 모든 수준의 하위 멤버를 반환하며, 지정된 멤버를 포함합니다.Returns descendant members from all levels subordinate to the level of the specified member, and includes the specified member.
LEAVESLEAVES 지정된 멤버와 지정된 수준 사이에 있거나 지정된 거리에 있는 리프 하위 멤버를 반환합니다.Returns leaf descendant members between the specified member and the specified level, or at the specified distance.

Examples

다음 예에서는 지정된 멤버(United States)와 지정된 수준(City)의 이전 수준 멤버 사이에 있는 멤버와 지정된 멤버(United States)를 반환합니다. 이 예에서는 지정된 멤버(United States)와 State-Province 수준(City 수준의 이전 수준)의 멤버를 반환합니다.The following example returns the specified member (United States), and the members between the specified member (United States) and the members of the level before the specified level (City), The example returns the specified member itself (United States), and the members of the State-Province level (the level before the City level). 이 예에는 이 함수의 다른 인수를 쉽게 테스트할 수 있도록 주석으로 처리된 인수가 포함되어 있습니다.This example includes commented arguments to enable you to easily test other arguments for this function.

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]   

일일 평균을 반환 하는 다음 예제는 Measures.[Gross Profit Margin] 에서 2003 회계 연도에서 각 월의 일에 대해 계산 측정값은 Adventure Works 큐브.The following example returns the daily average of the Measures.[Gross Profit Margin] measure, calculated across the days of each month in the 2003 fiscal year, from the Adventure Works cube. 하위 항목 의 현재 멤버 로부터 결정 된 일 집합을 반환 하는 함수는 [Date].[Fiscal] 계층입니다.The Descendants function returns a set of days determined from the current member of the [Date].[Fiscal] hierarchy.

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])  

다음 예에서는 수준 식을 사용하고 Australia의 각 State-Province에 대한 Internet Sales Amount와 Australia의 각 State-Province별 총 Internet Sales Amount의 백분율을 반환합니다.The following example uses a level expression and returns the Internet Sales Amount for each State-Province in Australia, and returns the percentage of the total Internet Sales Amount for Australia for by each State-Province. 이 예에서는 Item 함수를 사용 하 여에서 반환 되는 집합에서 첫 번째 (및만) 튜플을 추출할는 상위 함수입니다.This example uses the Item function to extract the first (and only) tuple from the set that is returned by the Ancestors function.

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]  

관련 항목:See Also

MDX 함수 참조 ( Mdx)MDX Function Reference (MDX)