分享方式:


上階 (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]  

另請參閱

MDX 函數參考 (MDX)