祖先(MDX)

一個在指定層級或距離某個成員處回傳祖先的函數。

Syntax

  
Level syntax  
Ancestor(Member_Expression, Level_Expression)  
  
Numeric syntax  
Ancestor(Member_Expression, Distance)  

論點

Member_Expression
一個有效的多維表達式(MDX)表達式,回傳成員。

Level_Expression
一個有效的多維表達式(MDX)表達式,能回傳一個層級。


一個有效的數值表達式,用來指定與該成員的距離。

備註

使用 Ancestor 函數時,你先提供 MDX 成員表達式,然後提供成員祖先層級的 MDX 表達式,或是代表該成員以上層級數量的數字表達式。 有了這些資訊, 祖先 函數會回傳該層級的祖先成員。

Note

若要回傳包含祖先成員的集合,而非僅返回祖先成員,請使用 祖先(MDX) 函式。

若指定了層級表達式, 祖先 函式會回傳指定成員在指定層級的祖先。 若指定的成員不在指定層級的同一階層內,函式會回傳錯誤。

若指定距離, 祖先 函數會回傳指定成員的祖先,即成員表達式所指定的階層中向上的步數。 成員可指定為屬性階層、使用者定義階層,或在某些情況下的父子階層成員。 數字為 1 會回傳成員的父種,數字 2 則會回傳成員的祖父母(若存在)。 數值為 0 則返回該成員本身。

Note

在父層級未知或無法命名的情況下,使用這種形式的 祖先 函數。

Examples

以下範例使用水準表達式,回傳澳洲每個 State-Province 的網路銷售金額及其佔澳洲總網路銷售額的百分比。

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]  

以下範例使用數值表達式,回傳澳洲每個 State-Province 的網路銷售金額及其佔所有國家/地區總網路銷售額的百分比。

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]