Recursive Hierarchies (Master Data Services)

A recursive hierarchy is a derived hierarchy that includes a recursive relationship. A recursive relationship exists when an entity has a domain-based attribute based on the entity itself.

For example, you can create an Employee entity with a domain-based attribute called Manager. The Manager attribute is populated from the list of employees. In this example organization, all employees can be managers.

Recursive hierarchy sample data

You can create a derived hierarchy that highlights the relationship between the Employee entity and the Manager domain-based attribute.

Recursive hierarchy structure

To include each member in the hierarchy only once, you can anchor null relationships. When you do, members with blank domain-based attribute values are displayed at the top level of the hierarchy.

Anchored recursive hierarchy

If you do not anchor null relationships, members are included multiple times. All members are displayed at the top level. They are also displayed under members of which they are attributes.

Non-anchored recursive hierarchy

In this example, Marcia is at the top level. She is not the manager of any employees because she is not used as a domain-based attribute value for any other Employee members. Robert, in contrast, has a level beneath him because Marcia has Robert as her Manager attribute value.

Rules

  • You cannot have more than one recursive relationship in a derived hierarchy.

  • You cannot assign member permissions (on the Hierarchy Members tab) to members in a recursive hierarchy.

  • Recursive hierarchies cannot include circular relationships. For example, Katherine cannot be Sandeep's manager if Sandeep is her manager. Also, Katherine cannot manage herself.