一個函數,回傳指定成員在特定層級或距離該成員的所有祖先集合。 在 Analysis Services 中,回傳的集合總是由單一成員組成——Analysis Services 不支援單一成員的多個父節點。
Syntax
Level syntax
Ancestors(Member_Expression, Level_Expression)
Numeric syntax
Ancestors(Member_Expression, Distance)
論點
Member_Expression
一個有效的多維表達式(MDX)表達式,回傳成員。
Level_Expression
一個有效的多維表達式(MDX)表達式,能回傳一個層級。
距
一個有效的數值表達式,用來指定與該成員的距離。
備註
使用 Ancestors 函數時,你先提供一個 MDX 成員表達式,然後提供該成員祖先層級的 MDX 表達式,或是代表該成員以上層級數量的數字表達式。 有了這些資訊, Ancestors 函式會回傳該層級的成員集合(該集合由一個成員組成)。
Note
若要返回祖先成員,而非祖先集合,請使用 祖先 函數。
若指定層級表達式, 祖先 函式會回傳該成員在指定層級的所有祖先集合。 若指定的成員不與指定層級處於同一階層,函式會回傳錯誤。
若指定距離, 祖先 函數會回傳所有成員集合,這些成員的階數為成員表達式所指定的階層向上階數。 成員可指定為屬性階層、使用者定義階層,或在某些情況下為父子階層的成員。 數字為 1 會回傳父層級的成員集合,數字為 2 則返回祖父層級的成員集合(若存在)。 數為 0 則返回包含該成員本身的集合。
Note
在父層級未知或無法命名的情況下,使用這種形式的 祖先 函數。
Examples
以下範例使用 祖先 函數,回傳會員、其父及祖父母的網路銷售金額指標。 此範例使用電平表達式來指定要回傳的電平。 這些層級與成員表達式中指定的成員處於同一階層結構中。
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]
以下範例使用 祖先 函數,回傳會員、其父及祖父母的網路銷售金額指標。 此範例使用數值表達式來指定回傳的層級。 這些層級與成員表達式中指定的成員處於同一階層結構中。
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]
以下範例使用 祖先 函數,回傳屬性階層成員父節點的網路銷售金額指標。 此範例使用數值表達式來指定回傳的層級。 由於成員表達式中的成員屬於屬性階層,其父節點為[All]層級。
SELECT {
Ancestors(
[Product].[Product].[Mountain-100 Silver, 38],1
)
} ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]