Ancestors
The MDX Ancestor function for Essbase takes the input member and a layer or distance, and returns a set of ancestors along with the input member.
When the layer specification is a level, this function returns all ancestors having a level no greater than the input level. For example, Ancestors ([Additions], [Measures].Levels(2)) returns {[Inventory] , [Additions]}.
Syntax
Ancestors ( member , layer | index )Parameters
Notes
-
Do not use negative numbers for index. If you want to return lower members, use Descendants instead of Ancestors.
Ancestors([Qtr1], -1)would return an empty member, not a descendant. -
If you use layer to specify a level but no ancestors exist at that level, then the return value is an empty member.
Example
Ancestors ( [New York], [Market].levels(2) )returns {[Market], [East], [New York]}, the self-inclusive set of [New York] ancestors beginning with the ancestor that is located at level 2 of the Market dimension.
Ancestors ( [Feb], 1 )returns {[Qtr1],[Feb]}, the self-inclusive set of ancestors beginning with the ancestor one step higher than Feb.
Ancestors ( [Feb], 0 )returns {[Feb]}.
Using the ASOSamp.Basic database,
Ancestors ([94089], [Geography].generations(2))returns {[West], [CA], [SUNNYVALE - CA], [94089]}, the self-inclusive set of 94089 ancestors beginning with the second generation of the Geography dimension.