Question
The entity JSON (Merged customers) pushed to Snowflake through the Reltio Snowflake Connector 2.0 has a different Enterprise ID (Different OV value) than what we are getting from Get Entity API or Reltio UI. This has created huge data inconsistencies across different downstream systems.
The OV value should always be calculated the same way. It should not be random.
Example - 3EVt4UF
What we are getting from Get API call -
What is pushed to Snowflake by the Reltio Snowflake connector is the following.
Answer
- Check the definition of the generated ID in the L3.
Example:
{
"label": "Enterprise US Customer ID",
"name": "EnterpriseUSCustomerID",
"type": "String",
"hidden": false,
"important": false,
"system": false,
"required": false,
"faceted": false,
"searchable": false,
"autoGenerated": true,
"generator": "SEQ_NG_fWsIw6uj4Cl0dOD",
"autoGenerationPattern": "{value}",
"generateIfEmpty": true,
"generateIfNotEmpty": false,
"generatedValueUniqueForCrosswalk": true,
"attributeOrdering": {
"orderType": "ASC",
"orderingStrategy": "LUD"
},
"uri": "configuration/entityTypes/Individual/attributes/EnterpriseUSCustomerID",
"skipInDataAccess": false
},
- Check the survivorship and make sure that you have a fallback strategy.
Example
{
"attribute": "configuration/entityTypes/Organization/attributes/EnterpriseUSCustomerID",
"survivorshipStrategy": "OldestValue",
"fallbackStrategies": [
{
"attribute": "configuration/entityTypes/Organization/attributes/EnterpriseUSCustomerID",
"survivorshipStrategy": "MinValue"
}
],
},
- Change the survivorship to advanced strategies.
"survivorshipAdvancedBehavior": [
"OldestValue"
]
- Make sure that the attribute has:
"sortAs": "Int"
Note: In this case, it is not guaranteed that any of the three crosswalks will win, and the winner may be different when displayed on the UI and streaming into the queue. This setting will resolve the issue because there will be multiple winners, and the fallback strategy will select one.
- After the change is made, make sure that resync the data. You can test the fix by just resyncing one entity.
http://{{env}}.reltio.com/reltio/api/{{tenantId}}/syncToDataPipeline
Resources
- https://docs.reltio.com/en/model/consolidate-data/design-survivorship-rules/survivorship-rules
- https://docs.reltio.com/en/model/consolidate-data/design-survivorship-rules/advanced-survivorship-strategies
- https://docs.reltio.com/en/model/consolidate-data/design-survivorship-rules/survivorship-rules#survivorship-mapping-parameters-0
Comments
Please sign in to leave a comment.