Unify and manage your data

Value concatenator cleanser

Learn about combining multiple attribute values of matched entities.

The Value concatenator cleanser takes an attribute that has multiple values and creates a string out of it. It enables you to consider all values of the attribute when matching entities, including the entities' nested sub-attribute. Suppose you have two markets, Market A and Market B, which have an attribute called Region that is common to both markets, and you want a match to occur for the markets only when there's a full match of all attribute values.

NumberScenariosMarket AMarket BMatch found?
1Market A has three values and Market B has one value for the Region attribute.Values for Region:
  • USA

  • India

  • Australia

Value for Region:
  • USA

No
2Market A has three values and Market B has three values for the Region attribute.Values for Region:
  • USA

  • India

  • Australia

  • India

Values for Region:
  • USA

  • India

  • Australia

Yes.
With this cleanser is enabled, a match is found only if all market attribute values are matched, as in scenario 2.
For both markets, the cleanser:
  • Remove the white spaces (leading & trailing) from the individual attribute values.

  • Removes duplicate values.

  • Sorts attribute values alphabetically in an ascending order.

  • Uses a space (“ “) as a delimiter to combine attribute values into a single cleansed value.

  • Uses all values or only OV values of the attribute based on the ovOnly setting of the Exact match rule. For more information, see topic Configuring OV Values and Match Rule Editor.

Based on the values provided in the table, the concatenated string displayed as a match for scenario 2, after removing the duplicate values, is Australia India USA.

Enable the cleanser

You can enable the cleanser by including a cleanseAdapter attribute within the cleanse element of your match rule configuration:
{
    "uri": "configuration/entityTypes/Market/matchGroups/MarketRegionMatch",
    "label": "RegionMatch",
    "type": "suspect",
    "useOvOnly": "true",
    "rule": {
        "and": {
            "exact": [
                "configuration/entityTypes/Market/attributes/RegionCleansed"
            ],
            "cleanse": [{
                    "cleanseAdapter": "com.reltio.cleanse.impl.MultipleValuesCombinerCleanser",

                    "mappings": [{
                            "attribute": "configuration/entityTypes/Market/attributes/Location/attributes/Region",
                            "cleanseAttribute": "configuration/entityTypes/Market/attributes/RegionCleansed"
                        }
                    ]
                }
            ]

        }
    },
    "scoreStandalone": 0,
    "scoreIncremental": 0
}

Map the cleanseAttribute parameter only to an attribute defined at the root-level, that is, an attribute defined by an entity and not defined at the L3 configuration level. You can add the attribute when you define the match rule configuration.