Why is the nested attribute value using singleValueByCrosswalkSources being overridden when the aggregation has been applied?

Question

We are trying to establish merge rules on identical localizations if two of the same localizations are ingested, but if they have different LOBs, we want to aggregate the LOBs on one merged localization.

This implementation is working from the UI side and failing in the Data Loader.

In Group entity for nested attribute, we have added matchFieldURIs for the Language, LocalizedName, and added singleValueByCrosswalkSources. We also added survivorship as Aggregation/LUD.

{
"matchFieldURIs": [
"configuration/entityTypes/Group/attributes/AKALocalization/attributes/Localization/attributes/Language",
"configuration/entityTypes/Group/attributes/AKALocalization/attributes/Localization/attributes/LocalizedName"
],
"singleValueByCrosswalk": true,
"singleValueByCrosswalkSources": {
"exclude": [
"configuration/sources/Reltio",
"configuration/sources/Custom",
"configuration/sources/Meta"
]
}
}

The result after the load is:

mceclip0.png

 

Answer

After adding a name of "Test"  into the input file for AKALocalization/attributes/Name for the data loader, you should see that LOB is being added rather than overriding the LOB value.

When you do not specify LocalizedName, you have two of the same values for the Language attribute. This attribute is used in the matchFieldURIs section which says to the platform what fields to use to decide that two Nested attributes are the same.

As a result, you have two same Nested attributes that are collapsed. When you add LocalizedName to the request payload, you had two different attributes and as a result, they were not collapsed.

cvsinput.png

Here is the corrected result.

warner1.png

 

  

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.