Creating Alternate Hierarchies
In the Entity dimension, you can create alternate hierarchies, where a single entity can have multiple parents. The parent members can be in different currencies and the translation that happens in the parent currency member will be different for these entities. To accomplish this, you use partially shared members, where only a part of input data is shared across all instances of the entities.
The following example shows a leaf-level entity that has more than one parent.
![Diagram of leaf-level entity that has more than one parent. Diagram of leaf-level entity that has more than one parent.](img/alternate_hierarchy_example1.gif)
In this example:
- Entity E111 is a child of both P11 and P12.
- Input data that is entered for E111 at either P11 or P12 is replicated to the other entity after Save. You can enter the data at any of P11.E111 and P12.E111 members.
- After consolidation, the calculated values at P11.E111 and P12.E111 can be different. For example, suppose the application is a multi-currency application, where the currency of E111 is GBP. P11 currency is USD and P12 currency is EUR. When entering data to E111, data is always entered in the entity currency member of the Currency dimension. The parent currency member is calculated and the values for Parent currency for P11.E111 and P12.E111 will be different, as the exchange rates between GBP and USD, and GBP and EUR can be different.
You can also create an entity hierarchy where a parent level entity has more than one parent. However, a hierarchy where the parent level has multiple parents that have different children is not supported.
You build an alternate hierarchy by creating partial share Entity members, and selecting "Shared" as the Data Storage member property. For the Entity dimension, the Data Storage property creates partially shared members.
In the Member Selector, you can view the parent and child relationships. When you select an entity, the member selector displays it as Parent.Child, for example, North America.USA. You can then select the entity you want, or if an entity has multiple parents, you can select each occurrence of the entity under different parents.
When you enter transaction data, you only need to enter data once, either for the Primary or Shared member.
You can also enter data once in data forms. For example, suppose E111 is a partially shared entity that has two parents, E11 and E12. In a data form, if you enter the amount 100 in E11.E111 and save it, 100 is immediately shown in E12.E111. If you change the amount to 150 in E12.E111 and save it, the same amount is reflected in E11.E111. In data forms, you can select whether to display the members of the Entity dimension as Parent.Child, and whether to display their currencies.
When you export data, the same data is exported for partially shared entities and the data is exported in the Parent.Child format. If you import data to one of the partially shared entities in a data file, the data is imported to the other one also.
Any change that is made to one partially shared entity that results in a change of calculation or process management status will be reflected in other instances of the entity. For example, if one instance is consolidated and its status changes to OK, the status of the other instances changes to OK. The same rule applies for locking and unlocking of partially shared entities.
Security and valid intersection rules defined for an entity also apply for its partially shared instances.
See the following sections: