Import a subset from one list to another


I have an import of an entire organization, which includes all levels (sales person, manager, regional manager and divisional manager). I would like to use the list that it imports in to and populate individual lists (one for each of Sales Person, Manager, Regional Manager and Divisional Manager). I have them all in subsets currently, but can't figure out how to only pull over those subsets into the individual lists.


Or, if possible, using the same import file, only import a subset into a separate list...

Best Answer

  • jnoone
    Answer ✓

    Ok great.  Sounds like you have it then.  So you can just do as a formula for each line item:  


    TMRole = "TM" 
    TMRole = "RM"
    TMRole = "DVP"
    TMRole = "AVP"
    TMRole = "AGT"


    Then on your import from datahub into the target model map each line item from this module to the subset member in the sales org list.  



  • jnoone

    Hey - Are you using a datahub?  If so, this would be a way you could structure it: 

    1.  Import the raw file with all levels into datahub.  The raw list can contain all levels and off of this you can create a module where you store the subsets as line items.

    2.  Create a saved view for each of the subsets within this module.

    3. Import directly from the saved views from this module in datahub into each of the lists (Sales Person, Manager, Regional Manager and Divisional Manager) within the target model.

    4. Include each of these actions as one process (ex. 1. Employee Loads).


    This allows you to do some cleaning, validation in datahub and have a clean import into each of your lists.  Alternatively, you could do the same thing directly within the target model (import into raw list, create module with properties, add actions based on saved views to update each of the underlying lists, create a process) but using datahub is a better approach. 


    Let me know if this helps or if you had additional background to send on your setup.



  • Hi @mwaltz0213 ,


    Since you are importing data of entire organisation in one list, which includes all levels and have subsets of each levels. Just curious to know any specific reason behind populating individual level wise lists ?

    You can use individual level Subsets as a dimension in module. 

    In case if you need to populate individual level wise lists then create saved views in modules having individual levels as dimensions and populate your individual lists.

    Hope this helps.

    ~ Jitendra

  • Thank you for the input. I'm attempting to create the module that pulls in the SalesOrg data (where the subsets are defined) but am having difficulty in creating view's off of the subsets. I can't seem to use the subset within the module or can't figure out how to do that... When creating the module, I could only bring in one subset, so I figured that wasn't the way to do it, that you use the entire SalesOrg List and somehow bring in the subset flags, but I could be wrong



  • Hi Jitendra,


    Great question. I'm building out a hierarchy that I'll base user access off of. We have a way to readily pull in the entire organization and I'm hoping to limit it to the single import into Anaplan, and divvy up the organization within Anaplan. In my mind, this will allow for more of the data cleansing and structuring to be done more readily in the Data Hub, versus several imports. 


    Unfortunately, our import process is complicated and if I ever need any changes to the data coming in, it can take up to several weeks. I'm trying to avoid that and bring in as much as I can.


  • jnoone

    Thanks for the screenshot.  I was thinking a few options we have: 


    1. For each of the subsets (TM, RVP, etc) can we derive them based on properties you have in the module?  For example, the formula would be Area=TM for the TM subset line item and Area=RVP for the RVP line item (as an example).  I assume there is some logic we can use to identify these members out of the larger sales org list.

    2. We can get these flags directly from the source system to populate the module line items and import directly into this module.  

    3. We import directly the subsets into the sales org list and do a isnotblank(finditem('tm subset', name(item('sales org list)))) to populate the module line items.


    If you can describe the import file format as well that would be helpful.



  • The import file does have a field where we could identify each role. I had set up the import with the logic to populate the subsets, so if we can use that field within Anaplan to identify, that would be even better. The field is TMRole and it is included in the list as well as the module currently. I imagine we can build this logic within Anaplan, but am unsure how to do that efficiently and effectively for this purpose.


    The SQL used is below:

    case when TMRole = 'TM' then 'TRUE' ELSE 'FALSE' end as 'TM Subset',
    case when TMRole = 'RM' then 'TRUE' ELSE 'FALSE' end as 'RVP Subset',
    case when TMRole = 'DVP' then 'TRUE' ELSE 'FALSE' end as 'DVP Subset',
    case when TMRole = 'AVP' then 'TRUE' ELSE 'FALSE' end as 'AVP Subset',
    case when TMRole = 'AGT' then 'TRUE' ELSE 'FALSE' end as 'Agent Subset'

  • Hmm. So, I'm able to create the views and have attempted to bring them in to the target model. But now I'm running into the issue of assigning a parent. I tried bringing it into the Data Hub module from a separate list, but cannot get the 'manager' to populate. Both lists have the Payee ID (which is unique) which I would think I can lookup on, but it's not bringing anything into the module. This is the formula I'm trying: Reports To Current.Reports To Payee ID[LOOKUP: SalesOrg.Payee ID]
  • jnoone

    Looks like you have the right methodology just need one tweak.  I would expect the payee id line item to be a list dimension not text.  Then assuming your lookup module (in this case reports to current) is dimensioned by the the payee id list and has a line item for manager, you can then do a lookup on the payee ID line item just as you have done below.  


    Also, in order to convert the payee ID line item that you currently have from text to list just do a finditem(payee ID list, payee Id text).  


    Let me know if this sorts.