@ALLANCESTORS
The @ALLANCESTORS calculation function for Essbase returns all ancestors of a member, including ancestors of any occurrences of the specified member as a shared member. This function excludes the specified member.
Syntax
@ALLANCESTORS (mbrName)
Notes
-
Essbase sorts the generated list of members in ascending order of the member number in the outline. Using Sample Basic as an example, if you specify 100-20 for mbrName, 100, Diet, and Product are returned (in that order). However, the order in which shared ancestors are returned is not guaranteed. This order is important to consider when you use the @ALLANCESTORS member set function with certain forecasting and statistical functions.
-
You can use @ALLANCESTORS as a parameter of another function, where that parameter is a list of members.
Example
The following example is based on the Sample Basic cube. Sample Basic has a shared level of diet drinks, which includes 100-20 (Diet Cola). So 100-20 (Diet Cola) is a descendant of 100 (Colas) and is a shared member descendant of Diet:
100
100-10
100-20
…
Diet
100-20 (Shared Member)
…
The following calculation script increases by 5% the Budget->Sales values of all ancestors of 100-20, including Diet.
FIX(Budget,@ALLANCESTORS("100-20"))
Sales = Sales * 1.05;
ENDFIX
This example produces the following report. This report shows that the Budget->Sales values for 100, Diet, and Product (the ancestors of 100-20) have been increased by 5%. The original values were 8980, 8260, and 28480, respectively.
Jan
Actual Budget
Sales Sales
===== =====
Market 100-10 4860 5200
100-20 2372 2610
100-30 1082 1170
100 8314 9429 *
100-20 2372 2610
200-20 3122 3090
300-30 2960 2560
Diet 8454 8673 *
Product 31538 30954 *
See Also