Reltio Connect

 View Only

 Survivorship rule on specific value by using RDM

  • RDM
  • Survivorship
Leon Tang's profile image
Leon Tang posted 09-06-2022 05:23
Hi all !

I am trying to find a way to make some specific values to survive based on what I found in this thread (Link

My use case is that I have an entity (Individual) and that entity has an attribute which is 'Status'. In that attribute I can have 3 values (C, N, P). If there is a 'C' value, I want 'C' to always become the OV. If there is no 'C' value but the 'N' value exists, then 'N' will be the OV. Otherwise, 'P' is the OV.
If I have an entity with the values 'C' and 'N', I want 'C' to become the OV. 
If I have an entity with the values 'C' and 'P', I want 'C' to become the OV etc. 
The ranking would be 'C' > 'N' > 'P'

Based on the thread linked above, we have double-mapped our dataloads to the attribute 'Status' and created a new one which is 'Status Rank'. 
By using RDM, the values that are loaded into 'Status Rank' are transformed into numbers, what we have is : 
  1. 'C' becomes '3'
  2. 'N' becomes '2'
  3. 'P' becomes '1'

The survivorship rule that we use for the attribute 'Status Rank' is "MaxValue", so we should have 3 > 2 > 1 
The survivorship rule for the attribute 'Status' is "OtherAttributeWinnerCrosswalk" and the primary attribute is 'Status Rank'
Based on that we should have the following result : C > N > P 
Unfortunately we do not have the expected result and P is always the OV. 

With the assistance of Reltio's team, they informed us that the MaxValue is calculated based on the lexicographical sort order of the strings instead of the transformed value (3,2,1) so 'P' is considered as the Max Value. 

Has anyone tried to achieve something similar and were successful in doing so ? I followed the steps described in this thread but it seems like it does not work (or does not work anymore?)

Thank you all for your time and assistance,
Léon
Saurabh Agarwal's profile image
Reltio Employee Saurabh Agarwal
Hi Léon,

Can you try MinValue strategy in this scenario? I think you may not even need the RDM attributes. MinValue strategy on the 'Status' attribute should give you the desired result

Thanks,
Saurabh
Leon Tang's profile image
Leon Tang
Hi Saurabh,

Thank you for your help ! I tried it with MinValue on the 'Status' attribute and it does work, luckily we have the right letters

But if we want to use this in another use case where we do not have the right letters, do you know if there is a way to make it work by using the combo of RDM + MaxValue as suggested in the other thread ? 

Thanks again for the help,
Léon
Gino Fortunato's profile image
Reltio Employee Gino Fortunato
It is lucky that you have the values in the order you want.

In my IT history, I've seen two possible approaches, both of  which will require some testing to see if they meet your needs.

1) 'order' the values with numbers -  Instead of 'active' make the value '10-active', '20-Inactive', etc
2) order the canonicle values - instead of making the text string the canonical value, make them 10, 20, 30, etc. 

For both of these, I advise not using 1, 2, 3, etc in case a new value appears at a future time that must be incorporated into the current ordering.  By this I mean a year from now if you need a value between the first and second, you can add '15' to the list.

WARNING: I haven't used these approaches with Reltio.  You will want to test to see how this affects your integrations, api calls, exports, etc