Ancestor(MDX)
지정된 수준이나 지정된 멤버로부터 지정된 거리만큼 떨어진 수준에서 지정된 멤버의 상위 항목을 반환하는 함수입니다.
구문
Level syntax
Ancestor(Member_Expression, Level_Expression)
Numeric syntax
Ancestor(Member_Expression, Distance)
인수
Member_Expression
멤버를 반환하는 유효한 MDX 식입니다.Level_Expression
수준을 반환하는 유효한 MDX 식입니다.Distance
지정된 멤버와의 거리를 지정하는 유효한 숫자 식입니다.
주의
Ancestor 함수를 사용할 때는 함수에 MDX 멤버 식을 지정한 다음 해당 멤버의 상위 항목인 수준의 MDX 식이나 해당 멤버 위의 수준 수를 나타내는 숫자 식을 지정합니다. Ancestors 함수는 이 정보를 사용하여 해당 수준의 상위 멤버를 반환합니다.
[!참고]
상위 멤버만이 아니라 상위 멤버를 포함하는 집합을 반환하려면 Ancestors(MDX) 함수를 사용하십시오.
수준 식이 지정된 경우 Ancestor 함수는 지정된 수준에서 지정된 멤버의 상위 항목을 반환합니다. 지정된 멤버가 지정된 수준과 동일한 계층 내에 없으면 이 함수는 오류를 반환합니다.
거리가 지정된 경우 Ancestor 함수는 멤버 식으로 지정된 계층에서 지정된 멤버보다 지정된 단계 수만큼 위에 있는 상위 항목을 반환합니다. 멤버는 특성 계층, 사용자 정의 계층 또는 경우에 따라 부모-자식 계층의 멤버로 지정될 수 있습니다. 숫자 1은 멤버의 부모를 반환하고 숫자 2는 멤버의 최상위 항목(있는 경우)을 반환합니다. 숫자 0은 해당 멤버 자체만 반환합니다.
[!참고]
Ancestor 함수를 이런 형식으로 사용하는 것은 부모의 수준을 알 수 없거나 이름을 지정할 수 없는 경우를 위한 것입니다.
예
다음 예에서는 수준 식을 사용하고 Australia의 각 State-Province에 대한 Internet Sales Amount와 Australia의 총 Internet Sales Amount에 대한 이 값의 백분율을 반환합니다.
WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /
(
[Measures].[Internet Sales Amount],
Ancestor
(
[Customer].[Customer Geography].CurrentMember,
[Customer].[Customer Geography].[Country]
)
), 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]
다음 예에서는 숫자 식을 사용하고 Australia의 각 State-Province에 대한 Internet Sales Amount와 모든 국가의 총 Internet Sales Amount에 대한 이 값의 백분율을 반환합니다.
WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /
(
[Measures].[Internet Sales Amount],
Ancestor
([Customer].[Customer Geography].CurrentMember, 2)
), 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]