上階 (MDX)
函式,傳回指定層級上指定成員的上階,或從成員的指定距離傳回。
語法
Level syntax
Ancestor(Member_Expression, Level_Expression)
Numeric syntax
Ancestor(Member_Expression, Distance)
引數
Member_Expression
傳回成員的有效多維度運算式 (MDX) 運算式。
Level_Expression
傳回層級的有效多維度運算式 (MDX) 運算式。
距離
有效的數值運算式,指定與指定成員的距離。
備註
使用上階 函式時,您會提供具有 MDX 成員運算式的函式,然後提供成員上階層級的 MDX 運算式,或代表該成員以上層級數目的數值運算式。 利用這項資訊, 上階函 式會傳回該層級的上階成員。
注意
若要傳回包含上階成員的集合,而不只傳回上階成員,請使用 上階 (MDX) 函式。
如果指定了層級運算式, 則 Ancestor 函式會傳回指定層級上指定成員的上 階。 如果指定的成員不在與指定層級相同的階層內,函式會傳回錯誤。
如果指定距離, 則上階函式會傳回指定成員的上 階,該成員是成員運算式所指定階層中指定的步驟數目。 成員可以指定為屬性階層的成員、使用者定義的階層,或在某些情況下,指定父子式階層。 數位 1 會傳回成員的父代,而 2 則傳回成員的祖父母(如果有的話)。 數位 0 會傳回成員本身。
注意
針對父系層級未知或無法命名的情況,請使用這個形式的 上階 函式。
範例
下列範例會使用層級運算式,並傳回澳大利亞每個州省的網際網路銷售金額,以及其澳大利亞網際網路銷售金額總額的百分比。
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]
下列範例會使用數值運算式,並傳回澳大利亞每個州省的網際網路銷售金額,以及所有國家/地區網際網路銷售總額的百分比。
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]