Course 305 Content


Is there any app in the AppHub that mirrors the model presented in course 305: Hub Model Hierarchy Management?


At least, I would like a copy of the blueprint in the Modules: (Master Hierarchy Build, Role Hierarchy Max Levels) of the SFDC HUB model that’s used to demo the 305 course.

As there are instances where the presenter moves too quick between the Line Items, it is quite difficult to understand what is going on.


Please assist.


  • Hi Ramesh,


    I do have a model for that.  I will notify you when it is up on App Hub. 




  • Hello Chris,


    Please let me know when it is up.


    I believe it will be very useful for the course viewers.


    Thank you.

  • Hello Chris,


    Any update on this?


    Thank you.

  • Hi Ramesh,


    Sorry for the delay in response.  We are in the process of updating the course so the model is still in the works.  Do you have any specific questions?  I can see if @rob_marshall can help answer them.




  • Ramesh,


    How can I help?




  • Here are some step by step instructions:


    Step 1: Create a Flat List – this is where the sourced data will be loaded to

    • Cost center Flat

    Step 2: Create a module to store properties of the flat list.  This will be dimensionalized by the flat list in Step 1.  Within this list, you will have a line item defining the parent of the item in the flat list (this is loaded from the source system).

    • Cost Center Properties module 

    Step 3: Create a module (dimensionalized by your Flat List) to understand how many children a particular member has.  This module has on line item (formatted to number) and the formula is: 'Cost Center Flat - Properties'.Count[SUM: 'Cost Center Flat - Properties'.'Parent H1']


    Step 4: Create a module to build the Hierarchy Lists (in this case, CC Build) and build it in this order

    1. Obtain the parents of each member and walk it up the levels (1-9, assuming 9 is the lowest level).
    2. Build the “Ragged” version of the hierarchy
    3. Build the “Balanced” version of the hierarchy
    4. Find the First Occurrences for each level
    5. Build views for each level using the First Occurrence for that level, including the Parent, the Member, and the code of the member.
    6. Create Actions to import into the correct list from the above views (e)
    • CC Build module

    Step 5: Rename the actions with appropriate names 

    Step 6: Create a process (Build CC Hierarchy) with the actions in the correct order.


    Again, I hope this helps.  Also, attached are the blueprints of the moduels.  Please let me know if you have any additional quesitons.





  • Hi Rob,


    This is Brilliant. 



  • Hi Rob/Chris,


    It would be helpful if there is a generic app which can be used to convert flat ragged hierarchy to composite hierarchy. The only difference between ragged hierarchies are LEVELS. If we can define the required LEVELS in the app and load the ragged hierarchy, we should get composite hierarchy generated automatically! Do you think its feasible?

  • Hi Chris,


    Any uodate on this?



  • Hi Ramesh,


    Right now, we do not have an app like this on the roadmap. There would be too many variables.




  • Thanks for this.


    Is there a reason that the Count line item needs it's own module?  Could it be in the Properties module?

  • @Mike.McLaughlin ,


    Thanks for reviewing the course.  It has been awhile since I reviewed the course (I think I recorded it 4.5 years ago before SYS modules were thought of) but if you are referring to a line item that is hardcoded to 1, then yes, absolutely.  The module that does the sum of the count needs to be in a different module because of the sum.


    Hope this helps,




  • @rob_marshall 

    Thanks for the response Rob.  I have it working in the same module as the Properties, but may need to take another look to see what the risks are.  Re: your statement on SYS modules, is there a better way to balance a hierarchy using those (SYS)?  Is there a resource you could point me to?  Thanks again!

  • @Mike.McLaughlin ,


    At the time of the video, there was no such thing as SYS modules, but in essence, that is exactly what the Build Hierarchy module is since it is not dimensionalized by Time and is only dimensionalized by the flat list.


    Hope this helps,



  • A spreadsheet could be put together to help build out the module(s) needed.  It would just help with generating the formulas.


    Something like the attached, discussed here:

  • Hi @rob_marshall @Mike.McLaughlin 

    I recreated a version of this for training purposes and noted the count line item can be stored in the SYS properties module. 


    Take a look at the attached blueprints:

    SYS00 - Flat Attributes

    SYS01 - Composite Hierarchy Build


    Use case = Client source system gives a parent child format, list is ragged. 4 columns, a) member name, b) member code, c) parent name, d) parent ID.

    Ragged explained - If the lowest level is level 6, certain branches will only go down to L3 and client needs to plan something at L6, the lowest level.


    Steps to complete:

    Step 1. Load CSV file to 'Flat list' (import code and name), if numbered, import code and display name property.

    Step 2. Create 'SYS00 - Flat Attributes' (flat list applied), import the properties/attributes into this model, Parent ID and Parent Name (match on code, will need code line item)

    Step 3. Add line items and formulas to SYS00, refer to excel attached, purpose here, is to identify the members with no children, aka "base member"

    Step 4. Create 'SYS01 - Composite Hierarchy Build' (flat list applied) refer to excel attachment, purpose here, is to create dummy members where the hierarchy is ragged --> append (LX).

    Step 5. Create saved views in SYS01, a saved view for each level of the hierarchy

    Step 6. Create X number of lists, relate them into a composite hierarchy by assigning the parent in general lists

    Step 7. Import saved views from step 5 into each of the lists.


    Lastly, in practice, the composite hierarchy lists, would be created in the spoke model and saved views from the datahub would be imported into the spoke. Level 2 Model Building gets this concept across. However, it does not cover the specifics of leveling a ragged hierarchy.



    Brett Francis