Forum Discussion

akarsh's avatar
akarsh
New Contributor III
2 years ago
Solved

Create Key: Pair value in mapper

Input Structure
[
{
"Id": "ABC",
"IFA_Number__c": "1"
},
{
"Id": "BCD",
"IFA_Number__c": "2"
}
]

I have to save this data in a key value format ( Ifanumber is key and ID is value) so that later in mapper I have to fetc fetch the respective ID based on IFA number. what's best way to do this?

  • Hello akarsh,

    You can try with grouping all of the documents into a single array, then using reduce to combine them in one object.

    Please note that if you have duplicate keys through the documents, they will overwrite.

    Please refer to the attached pipeline and let me know if this helps you.

     

    Regards,

    Aleksandar.

  • You can try with the following expression:

    $dataList.map(x => x.get('IfaNumber',null)).filter((x,ind,arr) => x != null && arr.indexOf(x) == ind)

    Let me know if this helps.

    Regards,

    Aleksandar.

11 Replies

    • akarsh's avatar
      akarsh
      New Contributor III

      How do I access this data later?  I saved it as $customerMappings and then later tried to use it in mapper as $customerMappings[$customerIFANumber] but got "property_map.settings.transformations.value.mappingTable.value[8].expression.value: Expression parsing failed near -- rIFANumber >> "] << (Reason: Unterminated string literal at line 1:36; Resolution: Insert the close quote character at the end of the string literal)"  error

    • akarsh's avatar
      akarsh
      New Contributor III

      As you suggested I created a mapper like this

      Output looks like this

      Is it possible to get the output in form of single json document like

       
      {
      "customerMappings": {
      "1": "A",
      "2":"B"
      }
      }
      • Aleksandar_A's avatar
        Aleksandar_A
        Contributor III

        Hello akarsh,

        You can try with grouping all of the documents into a single array, then using reduce to combine them in one object.

        Please note that if you have duplicate keys through the documents, they will overwrite.

        Please refer to the attached pipeline and let me know if this helps you.

         

        Regards,

        Aleksandar.