Difference between Top Level Item, Parent Hierarchy
I would like to know the difference between top level item and parent hierarchy. Is the top level item necessary when there is parent hierarchy?. Also, when would one use Parent in the list without having Parent Hierarchy and/or top level item? Would appreciate some clear egs.
Parent hierarchy, also know as composite hierarchy is a separate list which is assigned to the subject list as a separate linked aggregration structure. Top level is the single top item in a standard list hierarchical structure.
Top level is the highest level parent for the list. If there is no parent hierarchy all hierarchies are contained within the list. If the list doesn't have a top level it can have a hierarchical structure, however the list will not function properly if a top level is not defined, eg . SUM function
Just to add, having a Top Level allows you to easily join data between modules without complex formulae.
Take the following example:
You have a module that is dimensioned by Customers, Product and Time. I want to summarise the data in a separate module by Customers and Time. If I have a Top Level set on the Products list, I just need to reference the source module line item and the Top Level summary will be used to sum up all of the Products. There is nothing else needed!
Also, whilst in most cases a Top Level Item is used, there will be occasions where if it not necessary. Think "does it make sense to aggregate the list items"?. Here are two examples:
A list of currencies for analysis - It makes no sense to add them together
A list used as a drop down to provide a choice (e.g. Yes, No). If the list is not used as a dimension in a module then it is unlikely that you will need a Top Level item
Top Level item is the typically used when you have composite list (think Countries rolling up to Regions) and you need to to calculations (sums) over the list. The Top Level would be something like All Regions or All Locations. The Top Level is necessary on the first level of a composite list, but not on the subsequent levels. Lastly, you would not use the function Parent() on a list without a Parent Hierarchy or a Top Level because it would be flat, so there would not be a parent. As for an example of a list without a top level or a parent hierarchy, think about loading transactions from a source system. You would never add all of these up as they would span different periods as well as different master data (different account/cost center/department combinations), so this list would be a Flat list or one that does not have a parent nor a Top Level item.
Thank you for the explanation. Clearer now but .....
I noticed when I place Parent in the source data, it showed the data in the tree hierarchy even without the Parent Hierarchy and Top Level Item Setup. Does it mean that without the Parent hierarchy or top level item setup in the list, the parent entry in the source data does nothing except to show the conceptual relationship of the data?
You are correct in that the "parent" is showing or being built in the list when it is defined in the source data, but it is not a "real" parent of the overall list, it is just a parent to the other leaf (or detailed) members. To get around this, define the Top Level with what you have in the source data, that way you will not have a "fake" top level member. Remember, there is a huge difference between Top Level item and Parent Hierarchy.
Top Level item = just one member and is fixed, meaning it doesn't change
Parent Hierarchy = a different list that the current list is rolling up to, so more than one members.
Again, think States and Cities where Cities rolls up to States. States has a Top Level Item named "All States". The list States is the parent hiearchy (or list) of Cities.