/

RDM troubleshooting

Correcting Unmapped Values

Issue 1

Issue
  • You go to the RDM console and see an error sign for lookups for which there are unmapped values

or

  • You read an entity with an unmapped value in the RDM and you receive the following payload (see the “Color” attribute)

Payload with unmapped values:

[
    {
        "index": 0,
        "object": {
            "uri": "entities/1gTN7pbW",
            "type": "configuration/entityTypes/Individual",
            "createdBy": "***",
            "createdTime": 1672761949276,
            "updatedBy": "***",
            "updatedTime": 1672817781428,
            "attributes": {
                "FirstName": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/FirstName",
                        "ov": true,
                        "value": "JANE",
                        "uri": "entities/1gTN7pbW/attributes/FirstName/4EHBu9lF4"
                    },
                    {
                        "type": "configuration/entityTypes/Individual/attributes/FirstName",
                        "ov": false,
                        "value": "Jane",
                        "uri": "entities/1gTN7pbW/attributes/FirstName/4EHBu98sk"
                    }
                ],
                "LastName": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/LastName",
                        "ov": true,
                        "value": "DOE",
                        "uri": "entities/1gTN7pbW/attributes/LastName/4EHBuA2I6"
                    },
                    {
                        "type": "configuration/entityTypes/Individual/attributes/LastName",
                        "ov": false,
                        "value": "Doe",
                        "uri": "entities/1gTN7pbW/attributes/LastName/4EHBu9D90"
                    }
                ],
                "Color": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/Color",
                        "ov": true,
                        "value": "Purple",
                        "lookupError": "1003: RDM canonical value mapping not found for value [Purple] and source [Reltio] in tenant [***]",
                        "uri": "entities/1gTN7pbW/attributes/Color/5XRjTzYYV"
                    }
                ]
            },
            "isFavorite": false,
            "crosswalks": [
                {
                    "uri": "entities/1gTN7pbW/crosswalks/4EHBu9UC2",
                    "type": "configuration/sources/ReltioCleanser",
                    "value": "1gTN7pbW",
                    "reltioLoadDate": "2023-01-03T16:05:49.276Z",
                    "createDate": "2023-01-03T16:05:49.425Z",
                    "updateDate": "2023-01-03T16:05:49.425Z",
                    "attributes": [
                        "entities/1gTN7pbW/attributes/FirstName/4EHBu9lF4",
                        "entities/1gTN7pbW/attributes/LastName/4EHBuA2I6"
                    ],
                    "singleAttributeUpdateDates": {}
                },
                {
                    "uri": "entities/1gTN7pbW/crosswalks/4EHBu9Pvm",
                    "type": "configuration/sources/Reltio",
                    "value": "1gTN7pbW",
                    "reltioLoadDate": "2023-01-04T07:36:21.428Z",
                    "createDate": "2023-01-03T16:05:49.276Z",
                    "updateDate": "2023-01-03T16:05:49.276Z",
                    "attributes": [
                        "entities/1gTN7pbW/attributes/FirstName/4EHBu98sk",
                        "entities/1gTN7pbW/attributes/Color/5XRjTzYYV",
                        "entities/1gTN7pbW/attributes/LastName/4EHBu9D90"
                    ],
                    "singleAttributeUpdateDates": {}
                }
            ],
            "analyticsAttributes": {},
            "label": "DOE JANE",
            "secondaryLabel": ""
        },
        "successful": true
    }
]

Note: If you cannot see any Unmapped values either on RDM UI or as a response payload in the API, please contact Reltio Support so that they can enable the Unmapped values in the physical configuration for your tenant.

Background

Unmapped values are values that are loaded by a source, but they are not mapped to any canonical value because the RDM could not find a mapping for them.

Actions
  • If the values are invalid
    • work on remediation and update the entities pushing the correct values
    • delete the ones that are not needed
  • If the values are valid but are missing an RDM mapping
    • add the missing RDM mapping as explained in the RDM Mappings section

Note: It takes a few minutes for RDM to sync with the environments and for the values to be mapped (the cache is updated every 10 minutes and it happens automatically from the RDM tenant).

Result

After the RDM has synced up and the values were mapped, if you query Reltio for an entity you will receive a payload similar to the (see the Color attribute):

Payload with mapped values:

[
    {
        "index": 0,
        "object": {
            "uri": "entities/1gTN7pbW",
            "type": "configuration/entityTypes/Individual",
            "createdBy": "***",
            "createdTime": 1672761949276,
            "updatedBy": "***",
            "updatedTime": 1672818773523,
            "attributes": {
                "FirstName": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/FirstName",
                        "ov": true,
                        "value": "JANE",
                        "uri": "entities/1gTN7pbW/attributes/FirstName/4EHBu9lF4"
                    },
                    {
                        "type": "configuration/entityTypes/Individual/attributes/FirstName",
                        "ov": false,
                        "value": "Jane",
                        "uri": "entities/1gTN7pbW/attributes/FirstName/4EHBu98sk"
                    }
                ],
                "LastName": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/LastName",
                        "ov": true,
                        "value": "DOE",
                        "uri": "entities/1gTN7pbW/attributes/LastName/4EHBuA2I6"
                    },
                    {
                        "type": "configuration/entityTypes/Individual/attributes/LastName",
                        "ov": false,
                        "value": "Doe",
                        "uri": "entities/1gTN7pbW/attributes/LastName/4EHBu9D90"
                    }
                ],
                "Color": [
                    {
                        "type": "configuration/entityTypes/Individual/attributes/Color",
                        "ov": true,
                        "value": "Purple",
                        "lookupCode": "Purple",
                        "lookupRawValue": "Purple",
                        "uri": "entities/1gTN7pbW/attributes/Color/4WvC9ezlP"
                    }
                ]
            },
            "isFavorite": false,
            "crosswalks": [
                {
                    "uri": "entities/1gTN7pbW/crosswalks/4EHBu9UC2",
                    "type": "configuration/sources/ReltioCleanser",
                    "value": "1gTN7pbW",
                    "reltioLoadDate": "2023-01-03T16:05:49.276Z",
                    "createDate": "2023-01-03T16:05:49.425Z",
                    "updateDate": "2023-01-03T16:05:49.425Z",
                    "attributes": [
                        "entities/1gTN7pbW/attributes/FirstName/4EHBu9lF4",
                        "entities/1gTN7pbW/attributes/LastName/4EHBuA2I6"
                    ],
                    "singleAttributeUpdateDates": {}
                },
                {
                    "uri": "entities/1gTN7pbW/crosswalks/4EHBu9Pvm",
                    "type": "configuration/sources/Reltio",
                    "value": "1gTN7pbW",
                    "reltioLoadDate": "2023-01-04T07:52:53.523Z",
                    "createDate": "2023-01-03T16:05:49.276Z",
                    "updateDate": "2023-01-03T16:05:49.276Z",
                    "attributes": [
                        "entities/1gTN7pbW/attributes/Color/4WvC9ezlP",
                        "entities/1gTN7pbW/attributes/FirstName/4EHBu98sk",
                        "entities/1gTN7pbW/attributes/LastName/4EHBu9D90"
                    ],
                    "singleAttributeUpdateDates": {}
                }
            ],
            "analyticsAttributes": {},
            "label": "DOE JANE",
            "secondaryLabel": ""
        },
        "successful": true
    }
]

Issue 2

Issue

Adding a missing mapping in RDM still shows the value as unmapped in the RDM console

Background
  1. You have unmapped values in Reltio
  2. You add the missing mappings to RDM by creating a new Canonical row
  3. In 10 minutes the RDM syncs up with Reltio and records in Reltio appear correctly mapped. However, when you check the RDM console you still see the values you added a mapping for as unmapped
Actions

The unmapped values are not automatically removed from the “Unmapped values” section in the RDM UI. There are three possible ways of removing a value from the list of unmapped values:

  • “Drag and Drop” – when you want to map an unmapped value to an already existing RDM.
    • Enter Editing mode, choose a value from the unmapped list, drag it to the Canonical Value and drop it there. Click Save. Check the Reltio Drag and Drop Steps official documentation for more info.
  • Delete the unmapped values through an API request – to remove unused or unwanted values from the Unmapped values tab 
DELETE Request
https://<RDM_Service>/unmapped/<RDM_Tenant>/<RDM_Lookup_Type>/<Source>/<Unmapped_Value>
Example
https://rdm.reltio.com/unmapped/<rdm_tenant_id>/ReltioCleanser/Color/1
  • Create an RFE request for the unmapped values to be automatically removed if the value is added to the mapping (this happens on the tenant level and not on a lookup type level). Go to https://reltio.ideas.aha.io/portal_session/new to make the enhancement request.
Result

After the unmapped values have been cleared up, the Unmapped values drawer should be empty:


Issue 3

Issue

Adding a missing mapping in RDM is not reflected in the Reltio Advanced Search

Background
  1. You have unmapped values in Reltio
  2. You add the missing mappings to RDM
  3. In a couple of minutes, the RDM syncs up with Reltio, and records in Reltio appear correctly mapped. However, when you go to Reltio Advanced Search, select the RDM attribute, and get to pick a value, the unmapped value still shows up instead of the text of the mapped value. Furthermore, you can only find the record by selecting the text for the unmapped value. 

Example: 

  1. You do not have a mapping for Code 7 in Color RDM lookup. You push attributes.color.value = “7”. You read the payload for the newly created entity and you will see an RDM error for “Color” that 7 is unmapped.
  2. You go to the RDM console and create a mapping for the Source you are contributing – you drag and drop the box with Value:7 and Code:7 from the Unmapped values drawer to the Canonical row that you have chosen, for example, “Red (1)”. 
  3. You read the entity you pushed in step 1 and you will see that the error is gone and “7” is correctly mapped to “Red (1)”, which is the canonical value and canonical code
    1. Note: It takes a couple of minutes for the API to sync with the new updates. In Reltio UI the change is displayed in the entity after refreshing the page.
  4. If you go to the Reltio Advanced Search and you search for Color: Red, there will be no matches to your record. If you search for 7 you will find your record.

Note: The Color attribute is using Color RDM lookup.

Actions

A Reindex data task should be run after a data load, RDM changes, or if any data synchronization issues are detected.

Note: enableSeparateIndexing parameter should be set to true because in this way the Reindex Data task builds a new index. When the task is completed, the task replaces the old index with the new one.

POST Request
{ApplicationURL}/api/{tenantId}/reindex?enableSeparateIndexing=true
Example
https://test-usg.reltio.com/reltio/api/<mdm_tenant_id>/reindex?enableSeparateIndexing=true

It takes a couple of minutes for the Reindex data task to be completed (the status can be checked from Reltio Console → Tenant Management → Jobs). After the task has been completed, you can go to the Reltio Advanced Search and only the Canonical Value and Code “Red (1)” will appear. If you search for 7 you won’t find your record.

Note: If you still see source values and codes, that means that they are not mapped to a concrete RDM – refer to Issue 2 of this section.

Reltio official documentation for Reindex Data Task can be found here: Reindex Data Task

Result

After the Reindex Data task has finished, the Reltio Advanced Search UI should reflect only the Canonical Value and Code and no unmapped values should be shown.

Questions and Answers

Question 1

Question: Is there a way for the consumer to see the source system code i.e. “RED_Color” configured in our Color RDM for the “Reltio” source system?

Answer: No. Unless the source system pushes “RED_Color” in the attribute value and the resolveLookupcode setting in the physical config is set to false there is no way for “RED_Color” to be seen.


Question 2

Question: What appears in the Reltio Entity UI after deleting an RDM?

Scenario:

  1. You push a record that has an RDM mapping. The record is mapped with the Canonical Code of the Canonical Value as per the RDM mapping
  2. You delete the respective Canonical Row
  3. When you check the entity in the Reltio UI, you will see that only the Canonical Code appears (not the value you pushed but the Canonical Code)

Example

  • Configure the below mappings:
Canonical columnSource system column (Salesforce)
Canonical value: Red
Canonical code: 1
Source system value: Red
Source system code: RED_Color
Canonical value: Green
Canonical code: 2
Source system value: Green
Source system code: GREEN_Color
  1. Push attributes.color.value = “RED_Color”. You read the payload for the newly created entity and you will see that it is mapped correctly and it has “Red (1)” in its Color attribute
  2. Go to the RDM console and delete the Canonical Row for “Red”
  3. Check the entity in the Reltio UI. You will see that the value is set to “1”

Answer: After deleting a Canonical Row, all the entities which have the respective RDM in their properties will show the value that has been initially pushed.

References

Reference Data Management (Official Documentation)

Resolving RDM Lookup Errors from MDM

Stay in the loop!
Subscribe to our newsletter
Loading

Contact us

Get in touch and ask us anything. We're happy to answer every single one of your questions.


    Copyright © 2023 Ulpia Tech
    To top