please see the attached screenshot: can anybody give me a hint why the "automatic" mapping does not work thought the strings are equal? (None of the pairs do...)
Kind regards, David Mandl
The term "match on names or codes" on your "L6, L7 Customer, Product #" tab really means "attempt to match items automatically", as opposed to the second radio button where you manually map items. Manual mapping only works in smaller lists and for line items where you know that they're never going to change from one day to the next. (E.g. the "UNITS_VOLUME" line item in your source module gets manually mapped to the "Units" line item in your target module or something like that.)
I usually recommend that you only map things manually if you need to. If you create new line items in your sources or targets it could throw the import out of whack unless you go in, edit that import from the Actions tab of the gear, and explicitly tell it now to ignore the given new line item. (For this reason you should always import from a filtered saved view, never directly from a module, so new things don't pop up and confuse the import.)
More broadly, pushing numbered lists across models requires some special care because the true technical ID of the member in your source usually won't match the true technical ID in the target. Suppose you have a Product list with 5,000 products in it. Product "Chocolate bar 200 g" in both of your models might have a code of 12555 and a display name of "Chocolate bar 200 g". They LOOK the same. But in the data hub that was the thousandth member created in that list, so its actual true technical code is #1000. But in your sales planning model you created that one early on as a test product, so its true code is #6. You therefore cannot map automatically because the codes differ.
The safest thing to do is to ensure that your source module has a line item called something like "Product Code" which is formatted as type TEXT and has a formula of CODE(Item(Product)). Here our chocolate will show up as 12555. Then on the main mapping screen you tell the import that this column corresponds to your target's code. Basically you want to ignore the #6 and #1000 altogether.
Does that make sense?0
Are you importing from module to module? or from flat file?
1.Its not mapping automatically because you are mapping might be from numbered list.
thanks for your reply. I am importing from another Data Hub Module ("Actual Unit Data") which has only one numbered list assigned to Module ("101 Sales Actuals") with the assigned lists: Versions, Time, and numbered list "L6, L7 Customer, Product #".
I changed from code to name and it worked. Though I do not know why it did not work with the codes...
When importing from one model to another using a numbered list, you must use the code as the Display name is soley used for display purposes. From my understanding, you are not doing a model to model import, but rather module to module from within the Data Hub. Is this correct? If both modules are sharing the same or similiar dimsnionality, in this case the "L6, L7 Customer, Product #" list being either in the rows or columns, it is possible it already knows the "code". To know for sure, we would need to see the Mapping Tab as well as the structure of that list (code). If you are doing a module to module, would it be possible to "move" this data via formulas instead of creating an action?
Hello Rob, thanks for your reply.
Please see more screenshots attached.
- I am importing from Model (Data Hub).Module (Actual Unit Data) to Model (299 Case Study Model). Module (101 Sales Actuals)
- First tried using the Code which did not map automatically (as you can see in my initially attached screenshot)
- then changed mapping from display name which worked (as you can see in last screen "Import_2002_Mapping2.png") --> so my destination code (of Module (101 Sales Actuals)) now contains the full display name (SalesRep+Customer+Product)
--> if, as you say, mapping must be via code then the instruction "Match on names or codes" is quite misleading...
thanks for your reply. Sounds like a good solution. In further numbered list imports I will consider your approach. Maybe an enhancement request could be to improve the import wizard and make him distinguish between the import list type...