Mapping numbered lists during module to module import
Hi all,
Seems like this should be a straightforward one, but I can't figure it out..
I am trying to import data from one model into another model, using numbered lists.
The Source module and Target module (which are in two separate models) both have a list called 'Towns' as a dimension. This list is a numbered list, but each town has a unqiue code that is the same in both modules e.g. the numbered list item with display name 'london' has code '111' in both models.
When I am running the import, Anaplan is not able to automatically match the items in the 'Towns' list in the source module to the items in the 'Towns' list in the target module. Why is this?
I understand that Anaplan can't match on names, as the true list names are #1, #2 etc, but seeing as there are identical codes in the two lists I cant understand why it is not able to match based on the codes? E.g. I thought Anaplan would be able to automatically match the list item with code '111' in the source module to the list item with code '111' in the target module.
Many thanks!
Tom
Answers
-
Hi @Tom_H
You can create a line item in your source module called code with the formula (Code(item(Towns)) then use this as the mapping in your Target module and the mapping should work.
3 -
Thanks for your quick response @AWhitworth, creaing a 'Code' line item in the source module allowed Anaplan to match the two lists automatically.
Where Anaplan was unable to match based on the Code stored in the list itself, is this a bug that I should raise? I can't quite see the principle behind why it wouldnt work this way.
0 -
I think the reason we don't do this is because the code is not guaranteed to be populated for every item - if that could be enforced using a constraint then it could be a viable option on the import source, like the "split composite lists into separate columns" checkbox. We don't want the code to be invisible in the source preview, so its either the #id, the (potentially non-unique) display name or the code, or present a column for each and expect the correct one to be mapped and the others ignored - unless the dimension is in columns, in which case things get a bit more fiddly.
1 -
Hi @Tom_H ,
I also noticed the same issue some time back, however using a code line item in the source grid would do the trick. Also, if you export the data from the source module into a csv file and upload the csv file into the target module, the code line item won't be needed as while importing from a csv , matching by names is also possible , but there might be some corner cases where this won't work such as duplicate names in list.
Regards,
Aakash
0 -
Hello Ben,
I am still struggling to complete the final step in order to map the numbered list.
- In the target or import destination module, select Data>Import>Connect to Anaplan Model>Saved View and select your saved view in the source module from the list. Now, in the import dialog box you will be able to map the new line item containing the code to the numbered list items.
I am performing a module to module import and the two modules resides in separate models. The number list is one of the dimension and serves as the unique identification for each record. There are several line items (e.g. account description, org code, $ amount) and two additional dimensions (e.g. time and version). In summary: three dimensions and a few line items.
When I perform the import from a saved view which has the line items as a column, I am not sure what to chose to map the numbered list. Should I chose line items? I have more than one line items and it seems that the system won't allow me to map to the newly created line item: code list, which is the code for the numbered list.
Thank you very much for your help.
Yajing
0 -
Your screenshot suggests you are importing from a saved view with the numbered list in columns.
Re-pivot the view (or create a new one) such that line items are in columns. Create an additional line item that exposes the code using a formula CODE(ITEM(L)) where L is the name of the numbered list. Create an import, and map (Column Headers) to New Module Line Items, and the column for your new line item to your numbered list dimension. You can manully map the line items and tell it to ignore the (non-code) #x numbered list column.0 -
Hi Ben,
Thank you so so much. You pointed out exactly what I did wrong and I was able to import correctly.
I hope the below step by step instruction from Anapedia can be helpful to other new users like me.
Import into a module containing a numbered list - mapping by name workaround
Set up a line item in a source module which will enable the mapping of numbered list items when importing into a module containing a numbered list:
- Create a new line item in your source module containing the code of each item in the numbered list.
- Populate this new line item using the formula CODE(ITEM('List')).
- Pivot the module view so that line items are columns.
- Save this as a view.
- In the target or import destination module, select Data>Import>Connect to Anaplan Model>Saved View and select your saved view in the source module from the list. Now, in the import dialog box you will be able to map the new line item containing the code to the numbered list items.
Thank you again for your help!
Yajing
1