Descendants(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 식입니다.Distance
지정된 멤버와의 거리를 지정하는 유효한 숫자 식입니다.Desc_Flag
가능한 각 하위 항목 집합을 구별할 수 있는 설명 플래그를 지정하는 유효한 문자열 식입니다.
주의
수준이 지정된 경우 Descendants 함수는 지정된 수준에서 지정된 멤버나 지정된 집합에 포함된 멤버의 하위 항목이 들어 있는 집합을 반환합니다. 선택적으로 Desc_Flag에 지정된 플래그로 이 집합을 한정할 수도 있습니다.
Distance가 지정된 경우 Descendants 함수는 지정된 멤버나 지정된 집합의 멤버 중 지정된 멤버의 계층에서 지정된 수준 수만큼 떨어져 있는 멤버의 하위 항목이 들어 있는 집합을 반환합니다. 선택적으로 Desc_Flag에 지정된 플래그로 이 집합을 한정할 수도 있습니다. 일반적으로 이 함수와 Distance 인수를 사용하면 비정형 계층을 처리할 수 있습니다. 지정된 거리가 0인 경우 이 함수는 지정된 멤버나 지정된 집합으로만 구성된 집합을 반환합니다.
집합 식이 지정된 경우 Descendants 함수는 집합의 각 멤버에 대해 개별적으로 확인되며, 집합이 다시 생성됩니다. 즉, Descendants 함수에 사용되는 구문은 MDX Generate 함수와 기능적으로 동일합니다.
수준 또는 거리가 지정된 경우 함수에서 사용되는 수준의 기본값은 지정된 멤버에 대해 Level 함수(<<Member>>.Level)를 호출하거나(멤버가 지정된 경우) 지정된 집합의 각 멤버에 대해 Level함수를 호출하여(집합이 지정된 경우) 결정됩니다. 수준 식, 거리 또는 플래그가 지정되지 않은 경우 이 함수가 수행하는 작업은 다음 구문이 사용된 경우와 같습니다.
Descendants
(
Member_Expression ,
Member_Expression.Level ,
SELF_BEFORE_AFTER
)
수준만 지정되고 설명 플래그는 지정되지 않은 경우 이 함수가 수행하는 작업은 다음 구문이 사용된 경우와 같습니다.
Descendants
(
Member_Expression ,
Level_Expression,
SELF
)
설명 플래그 값을 변경하여 지정된 수준 또는 거리에서 하위 항목을 포함하거나 제외할 수 있습니다. 지정된 수준 또는 거리의 전/후에 있는 자식(리프 노드까지)은 물론, 지정한 수준이나 거리에 관계없이 리프 자식 항목을 포함 또는 제외할 수 있습니다. 다음 표에서는 Desc_Flag 인수에서 허용되는 플래그에 대해 설명합니다.
플래그 |
설명 |
---|---|
SELF |
지정된 수준 또는 지정된 거리에 있는 하위 멤버만 반환합니다. 이 함수는 지정된 수준이 지정된 멤버의 수준인 경우 지정된 멤버를 포함합니다. |
AFTER |
지정된 수준에 종속되거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다. |
BEFORE |
지정된 멤버와 지정된 수준 사이에 있거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다. 이 함수는 지정된 멤버만 포함하고 지정된 수준이나 거리의 멤버는 포함하지 않습니다. |
BEFORE_AND_AFTER |
지정된 멤버의 수준에 종속된 모든 수준의 하위 멤버를 반환합니다. 이 함수는 지정된 멤버만 포함하고 지정된 수준이나 지정된 거리의 멤버는 포함하지 않습니다. |
SELF_AND_AFTER |
지정된 수준 또는 지정된 거리의 하위 멤버와 지정된 수준에 종속되거나 지정된 거리에 있는 모든 수준의 하위 멤버를 반환합니다. |
SELF_AND_BEFORE |
지정된 수준 또는 지정된 거리에 있는 하위 멤버와, 지정된 멤버와 지정된 수준 사이 또는 지정된 거리에 있는 모든 수준의 하위 멤버를 반환하며, 지정된 멤버를 포함합니다. |
SELF_BEFORE_AFTER |
지정된 멤버의 수준에 종속된 모든 수준의 하위 멤버를 반환하며, 지정된 멤버를 포함합니다. |
LEAVES |
지정된 멤버와 지정된 수준 사이에 있거나 지정된 거리에 있는 리프 하위 멤버를 반환합니다. |
예
다음 예에서는 지정된 멤버(United States)와 지정된 수준(City)의 이전 수준 멤버 사이에 있는 멤버와 지정된 멤버(United States)를 반환합니다. 이 예에서는 지정된 멤버(United States)와 State-Province 수준(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])
다음 예에서는 수준 식을 사용하고 Australia의 각 State-Province에 대한 Internet Sales Amount와 Australia의 각 State-Province별 총 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]