@IALLANCESTORS
The @IALLANCESTORS calculation function for Essbase returns a member and all its ancestors.
This function returns the specified member and all the ancestors of that member, including ancestors of any occurrences of the specified member as a shared member. You can use this function as a parameter of another function, where that parameter is a list of members.
Syntax
@IALLANCESTORS (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, Essbase returns 100-20, 100, Diet, Product (in that order). However, the order in which shared ancestors are returned is not guaranteed. This order is important to consider when you use this function with certain forecasting and statistical functions.
Example
The following example is based on the Sample Basic database. 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 100-20 and all its ancestors, including Diet:
FIX(Budget,@IALLANCESTORS("100-20"))
Sales = Sales * 1.05;
ENDFIX
This example produces the following report. This report shows that the Budget->Sales values for 100-20, 100, Diet, and Product (100-20 and its ancestors) have been increased by 5%. The original values were 2610, 8980, 8260, and 28480, respectively.
Jan
Actual Budget
Sales Sales
===== =====
Market 100-10 4860 5200
100-20 2372 2740.5 *
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