Creating views/"child-modules" with a calculation layer?

I have a master warehouse budget model which has several modules but let's consider the following modules for example: Shipments, Freight Charges, Headcount, Inventory etc. All are inter-linked by formulas and the setup is complete.

 

I now wish to create child warehouse budgets with the entire set of modules as the master as follows:

 

Warehouse A = 50% of Master

Warehouse B = 30% of Master

Warehouse C = 20% of Master

 

I have already set up the model /modules at the master level and I have the above % split in an assumptions module.

 

I wish to create complete list of child warehouse budget models/modules so I can hand it over to different warehouse leads to maintain their budgets/plans independently.

 

Every line item will be 50% of Master modules for warehouse A, for example. 

Shipments = 500, Freight = 2500$ and so on. 

 

I do not want to create a duplicate set of all modules for each and every warehouse, and then change each and every line item to 50% * Master.Shipments or 50% * Master.Freight $ and so on. 

 

Can someone help me do this more easily? I have about 15 core modules each with atleast 15-20 line items so replicating every line item/formula is cumbersome.

 

In SQL we can create views and add our own calculations on top of the table we are selecting from as we create the view query. I wish there was a calculation layer between views and modules in Anaplan.

 

I hypothesizing of a solution where we use Line item subsets and select all line items needed from master modules and when we do a COLLECT() we do a COLLECT() * 50% for warehouse A. Not sure if that will work.

Answers

  • Definitely don't create line items with hard coded 50%, 30% etc.

    Whatever approach you take is going to require some re-engineering

    Do you need to create separate models?

    If not, then you could copy all modules and add a list/dimension with the warehouses. Using the central assumptions module, you could make each relevant line item

     

    Master module line item * Assumptions.% split

     

    If you are creating separate models, then you will need to do something similar to move the data into those models

     

    Hope this helps

    David

     

  • @DavidSmith 

     

    I wanted to avoid creating the list with warehouses and making it in the "Pages" of the master modules because: 1) The warehouse budgets may be allocated to different managers and every warehouse manager should be able to see only his budget / allocations etc.

    2) I will have to edit every line item of the master to have a logic wherein if the selected warehouse is X then take the % split of X from the assumptions module. Not sure if we can just do:

    Master module line item * Assumptions.% split

     

    Something more like: Assumptions.% Split[SELECT: Warehouse A] if the page selector has Warehouse A 

     

    Do you think the COLLECT() approach with line items subsets work? And we can do COLLECT() * Assumptions.% Split of Warehouse A in the formula, for Warehouse A modules, and replicate it for other warehouses?

  • 1 - "I wanted to avoid creating the list with warehouses and making it in the "Pages" of the master modules because: The warehouse budgets may be allocated to different managers and every warehouse manager should be able to see only his budget / allocations etc."

     

    Selective access and/or Dynamic Selective Access will solve that problem and that is the "logical" architecture for this requirement

     

    2 - You are going to have to edit every line item anyway and hard coded "selects" are not good and you would have to create separate modules or line items for each warehouse

     

    I don't think COLLECT is viable either; it would, however also need the list of warehouses to work; you can't lookup up warehouses without them being a list in the module

     

    David