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 :
- 'C' becomes '3'
- 'N' becomes '2'
- '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