Top Level Item and Parent Hierarchy

greg_reynolds
edited November 2022 in Best Practices

Lists in Anaplan have two main settings related to how data is aggregated:

  • Top Level Item
  • Parent Hierarchy

They may both be set on the “Configure” tab on the List settings screen.

Top Level item

This list has been set to have a top level item, “All Regions.”

clipboard_image_0.png

When used in a module, the top level item contains the aggregation of the line item data over the entire list. Below is a simple module illustrating this:

clipboard_image_1.png

An advantage to having a top level item is that it can be used to provide a summary value for the line item in another module that does not have the list as a dimension. The module below does not have any dimensions, so the formula shown will use the top level item to provide the cell value. This would not be possible if the list did not have a top level item.

clipboard_image_2.png

Not all lists require a top level item. For example, a simple pick list of currencies would not require a top level item as it is not necessary to aggregate data over the list.

As a rule of thumb, if a list will not be used as a dimension of a module, then it will not need a top level item. 

Top level items can also have implications for performance. The summary will be calculated every time an item is added to the list. For large flat lists, such as transaction lists, this can add significantly to the amount of calculations that the model will have to do. This means that it is probably a good idea not to set a top level item on this kind of list, even if it is used as a module dimension.

Parent Hierarchy

This list has been given a parent hierarchy. One point to note is that it is possible to set a top level item and a parent hierarchy on the same list. In this case, the setting of the top level item is ignored in favor of the parent hierarchy setting.

clipboard_image_3.png

A simple module using this list is shown below.

clipboard_image_4.png

It can be seen that the detail cells in blue are summed up into their relevant parent item, in black. These are, in turn, aggregated into the total for the “All Regions” top level item. These values can be used in a similar way to the top level item for providing summary items for modules that do not have the list as a dimension.

In the case where the parent hierarchy, in this case Regions, is a dimension of the line item, then the summary values are used to provide the cell values.

clipboard_image_5.png

In the case where the parent hierarchy is not a dimension of the line item, then the top level item of the parent hierarchy is used to provide the summary value:

clipboard_image_6.png

More information

For more information on this subject, and other foundational subjects, visit the Level 1 Model Building course in the Anaplan Academy.

Tagged:

Comments

  • CallumW
    edited November 2022

    Great article @greg_reynolds - important point around using top level items for flat lists causing unnecessary calculation and particularly relevant for building lists in data hubs!

  • helennie
    edited November 2022

    Great article, @greg_reynolds!

     

    Absolutely agree with not adding top levels unless needed. In addition to the unnecessary calculations & space consumed, they can mask incorrect formulas (e.g. you are missing a required LOOKUP but the formula is accepted because it takes the top level calculation, even though that's not the number you want.)

  • Nava1229
    edited November 2022

    Good info..

     

    Top level can be used only when it is needed .

     

  • CommunityMember123764
    edited November 2022

    I'm in the process of migrating one model into another, and during this process I needed to add Top Level Item for my list, like it was done on the other model. But, I keep getting this error message:

    'Total Bundles' is not valid for the name of the top level item of Equinox Bundle. 'Total Bundles' clashes with the name of an existing List Member.

    'Total Bundles' is the top level in my list. I get the same error with a different List, as well. 

    What does this mean?

    p.s. I'm still working through my Level 2 training - finished up Sprint 3, on my way to Conclusion.

    Thanks!

  • Varchasva.Jain
    edited November 2022

    @CommunityMember123764 , you are getting this error because you have the ''list'' in this model with same name as your Top Level.