ELISANC TM1 Function: How to Use, Syntax and Example

ELISANC stands for ELelemnt IS ANCestor, in other words, is one element in a dimension an ancestor of another. Therefore, it is testing to see if one element is in the same structure as another (i.e. it is the parent, grandparent, great grandparent etc.). It will return either a 1 if it is true or a 0 if false. Note, that this is not ELISPAR (Element is Parent).

Syntax of ELISANC

The syntax is:

ELISANC (DimName, ancestor, descendant);

Where you are testing if ancestor is higher in the hierarchy than descendant in the dimension DimName.


For example, ELISANC (‘Month’,’Full Year’,’Jan’) will return 1 for true if “Jan” is a child of “Full Year”.  If (for whatever reason) “Jan” was not a child of “Full Year”, the expression would return 0.

Example of ELISANC in a TM1 Rule

This function often used inside an IF statement to determine if one element is an ancestor of another specific element and then if so, to execute a specific command or rule. For example:

['Forecast','Local','Source'] = N: IF ( ELISANC ( 'Measures - Operating Plan' , 'Office Expenses' , !Measures - Operating Plan ) = 1 , 100, 200); 

This rule will test if the current measure has Office Expenses as an ancestor and if so, return 100 and if not, return 200.

This function can be used in both TM1 Rules and TI processes.

You might also like