共用方式為


Ancestors (MDX)

會傳回指定層級上指定之成員的所有上階集合或離該成員指定距離之所有上階集合的函數。在 Microsoft SQL Server Analysis Services 中,所傳回的集合將一律由單一成員組成 - Analysis Services 不支援單一成員有多個父系。

語法

Level syntax
Ancestors(Member_Expression, Level_Expression)

Numeric syntax
Ancestors(Member_Expression, Distance)

引數

  • Member_Expression
    傳回成員的有效多維度運算式 (MDX) 運算式。

  • Level_Expression
    傳回層級的有效多維度運算式 (MDX) 運算式。

  • Distance
    有效的數值運算式,會指定與指定成員間的距離。

備註

使用 Ancestors 函數時,您可以提供 MDX 成員運算式給函數,然後提供代表該成員之上階的 MDX 層級運算式,或代表該成員之上方層級數目的數值運算式。Ancestors 函數利用此資訊來傳回該層級的成員集合 (這將是由一個成員組成的集合)。

[!附註]

若要傳回上階成員,而非上階集合,請使用 Ancestor 函數。

如果指定了層級運算式,Ancestors 函數會傳回指定層級上指定成員之所有上階的集合。如果指定成員不是位在指定層級的相同階層中,函數會傳回錯誤。

如果指定距離,Ancestors 函數會傳回階層中由成員運算式所指定之上方層級數目的所有成員集合。成員可以指定為屬性階層或使用者自訂階層的成員,或在某些狀況下指定為父子式階層的成員。數字 1 會傳回位於父層級的成員集合,而且數字 2 會傳回位於祖系層級的成員集合 (如果存在的話)。數字 0 會傳回只含成員本身的集合。

[!附註]

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

範例

下列範例使用 Ancestors 函數來傳回成員、其父系及祖系的 Internet Sales Amount 量值。這個範例使用層級運算式指定要傳回的層級。這些層級是在成員運算式中所指定之成員的相同階層中。

SELECT {
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Category]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Subcategory]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Product])
    } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]

下列範例使用 Ancestors 函數來傳回成員、其父系及祖系的 Internet Sales Amount 量值。這個範例使用數值運算式指定所傳回的層級。這些層級是在成員運算式中所指定之成員的相同階層中。

SELECT {
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],2
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],1
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],0
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM  [Adventure Works]

下列範例使用 Ancestors 函數來傳回屬性階層成員之父系的 Internet Sales Amount 量值。這個範例使用數值運算式指定所傳回的層級。因為成員運算式中的成員是屬性階層的成員,所以它的父系是 [All] 層級。

SELECT {
   Ancestors(
      [Product].[Product].[Mountain-100 Silver, 38],1
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]

請參閱

參考