Reltio Connect

 View Only
Expand all | Collapse all

DnB Jolt Mapping

  • 1.  DnB Jolt Mapping

    Reltio Partner
    Posted 10-05-2023 10:36

    Hi All,

    Can someone assist me here to get the proper jolt for the below use case .

    Use Case :1  if Dnb Response numberOfEmployees.informationScopeDescription contains Both Values "Individual"& "Consolidated".

    We need to pick Consolidated Object attribute values.

    "numberOfEmployees": [
    {
    "value": 80,
    "minimumValue": null,
    "maximumValue": null,
    "employeeFiguresDate": null,
    "informationScopeDescription": "Individual",
    "informationScopeDnBCode": 9068,
    "reliabilityDescription": "Actual",
    "reliabilityDnBCode": 9092,
    "employeeCategories": []
    },
    {
    "value": 170,
    "minimumValue": null,
    "maximumValue": null,
    "employeeFiguresDate": null,
    "informationScopeDescription": "Consolidated",
    "informationScopeDnBCode": 9067,
    "reliabilityDescription": "Actual",
    "reliabilityDnBCode": 9092,
    "employeeCategories": [
    {
    "employmentBasisDescription": "Principals",
    "employmentBasisDnBCode": 9064
    }
    ]
     
    Usecase 2 : informationScopeDescription contains only Individual  or Consolidated data  ,then we need to pick data of which ever  s available .

     

    "numberOfEmployees": [
    {
    "value": 80,
    "minimumValue": null,
    "maximumValue": null,
    "employeeFiguresDate": null,
    "informationScopeDescription": "Individual",
    "informationScopeDnBCode": 9068,
    "reliabilityDescription": "Actual",
    "reliabilityDnBCode": 9092,
    "employeeCategories": []
     }]
    or 
    "numberOfEmployees": [
    {
    "value": 80,
    "minimumValue": null,
    "maximumValue": null,
    "employeeFiguresDate": null,
    "informationScopeDescription": "Individual",
    "informationScopeDnBCode": 9068,
    "reliabilityDescription": "Actual",
    "reliabilityDnBCode": 9092,
    "employeeCategories": []
     }]
    our Current Jolt mapping failed use case 2 ,if it contains only "informationScopeDescription": "Individual",
    Current Jolt Mapping :
    "numberOfEmployees": {
    "*": {
    "informationScopeDescription": {
    "Consolidated": {
    "@(2,value)": "[4].attributes.EmployeeDetails[0].value.TotalEmployees[].value",
    "@(2,reliabilityDescription)": "[4].attributes.EmployeeDetails[0].value.ReliabilityDescription[].value",
    "@(2,informationScopeDescription)": "[4].attributes.EmployeeDetails[0].value.InformationScopeDescription[].value",
    "@(2,employeeFiguresDate)": "[4].attributes.EmployeeDetails[0].value.EmployeeFiguresDate[].value",
    "@(2,trend)": {
    "*": {
    "growthRate": "[4].attributes.EmployeeDetails[0].value.GrowthRates[&1].value.GrowthRate[].value",
    "@(0,timePeriod)": {
    "description": "[4].attributes.EmployeeDetails[0].value.GrowthRates[&1].value.TimePeriod[].value"
    }
    }
    }
    }
    }
    }
    },


    ------------------------------
    Anandakumar Ponnuchamy
    workday
    ------------------------------


  • 2.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-05-2023 10:37

    hi @Jay Daly,

    Could you please share your input here .



    ------------------------------
    Anandakumar Ponnuchamy
    workday
    ------------------------------



  • 3.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-05-2023 10:44

    @Lynn Overall, @Gino Fortunato,

    Can you guys please take a look at Anandakumar's question above and see if this is something that you can advise on?



    ------------------------------
    Jay Daly
    Dun & Bradstreet
    Chattanooga TN
    ------------------------------



  • 4.  RE: DnB Jolt Mapping

    Reltio Employee
    Posted 10-07-2023 11:11

    I'm sorry, but i'm not familiar with JOLT



    ------------------------------
    Gino Fortunato
    Senior Solution Engineer
    Reltio
    ------------------------------



  • 5.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-06-2023 06:16

    this should work , however take into account if you need the additional attributes you will need to add those into the Jolt transformation however based on the requirement 

    first check for "Individual" and "Consolidated" in the "informationScopeDescription" field for each item in the "numberOfEmployees" array. If it finds both, it assigns the value "Individual" to "Individual" and "Consolidated" to "Consolidated" in the output. If it finds only "Individual," it assigns "Individual" to the output, and if it finds only "Consolidated," it assigns "Consolidated" to the output



    [

      {

        "operation": "shift",

        "spec": {

          "numberOfEmployees": {

            "*": {

              "informationScopeDescription": {

                "Individual": {

                  "*": {

                    "@": "Individual"

                  }

                },

                "Consolidated": {

                  "*": {

                    "@": "Consolidated"

                  }

                }

              }

            }

          }

        }

      }

    ]



    ------------------------------
    Lynn Overall
    Dun & Bradstreet
    Austin TX
    ------------------------------



  • 6.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-06-2023 06:45

    Hi Lynn,

     

    Thanks for the input .

    Our requirement is that ,always we want to pick the value from "consolidated" ,if it missing then we should go for Individual data .

     

    Attached the sample json/joltmapping for your reference.

     

    Thanks &Regards,

     

     

    Anandakumar Ponnuchamy |  MDM Engineer |  Phone: (91) 8807673604 |  Email: anandakumar.ponnucha@workday.com

     

    A blue and orange logo  Description automatically generated

     






  • 7.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-11-2023 17:08

    Hi Anandakumar,

    Did Lynn's answer get you what you needed?



    ------------------------------
    Jay Daly
    Dun & Bradstreet
    Chattanooga TN
    ------------------------------



  • 8.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 11-07-2023 01:00

    Hi Lynn,

    will it possible to filter a data multi level filter condition . Actually   we want take get employee attributes details if 

    "informationScopeDescription": "Consolidated", && "reliabilityDescription": "Actual"
    attaching the current jolt mapping for your reference .
    Jolt Mappping : 
    "numberOfEmployees": {
    "*": {
    "informationScopeDescription": {
    "Consolidated": {
    "@(2,value)": "[4].attributes.EmployeeDetails[0].value.TotalEmployees[].value",
    "@(2,reliabilityDescription)": "[4].attributes.EmployeeDetails[0].value.ReliabilityDescription[].value",
    "@(2,informationScopeDescription)": "[4].attributes.EmployeeDetails[0].value.InformationScopeDescription[].value",
    "@(2,employeeFiguresDate)": "[4].attributes.EmployeeDetails[0].value.EmployeeFiguresDate[].value",
    "@(2,trend)": {
    "*": {
    "growthRate": "[4].attributes.EmployeeDetails[0].value.GrowthRates[&1].value.GrowthRate[].value",
    "@(0,timePeriod)": {
    "description": "[4].attributes.EmployeeDetails[0].value.GrowthRates[&1].value.TimePeriod[].value"
    }
    }
    }
    }
    }
    }
    },
    DnB Response : 
    {
    "value": 9100,
    "minimumValue": null,
    "maximumValue": null,
    "employeeFiguresDate": null,
    "informationScopeDescription": "Consolidated",
    "informationScopeDnBCode": 9067,
    "reliabilityDescription": "Actual",
    "reliabilityDnBCode": 9092,
    "employeeCategories": [
    {
    "employmentBasisDescription": "Principals",
    "employmentBasisDnBCode": 9064
    }
    ],
    "trend": [
    {
    "timePeriod": {
    "description": "1-3 years",
    "dnbCode": 13711
    },
    "growthRate": -6.0
    },
    {
    "timePeriod": {
    "description": "1-5 years",
    "dnbCode": 13721
    },
    "growthRate": -59.0
    }
    ]
    }


    ------------------------------
    Anandakumar Ponnuchamy
    workday
    ------------------------------



  • 9.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 11-07-2023 14:09

    @Lynn Overall - can you take a look at this?



    ------------------------------
    Jay Daly
    Dun & Bradstreet
    Chattanooga TN
    ------------------------------



  • 10.  RE: DnB Jolt Mapping

    Reltio Partner
    Posted 10-05-2023 10:50

    Sharing Json payload



    ------------------------------
    Anandakumar Ponnuchamy
    workday
    ------------------------------



  • 11.  RE: DnB Jolt Mapping

    Reltio Employee
    Posted 12-04-2023 11:08

    Hi @Anandakumar Ponnuchamy

    Can you try this:

    In the beginning of your mapping please add this spec - 

     {
        // aux part - calculate EmployeeDetails count
        "operation": "modify-overwrite-beta",
        "spec": {
          "organization": {
            "TotalSize": "=size(@(1,numberOfEmployees))"
          }
        }
      },

    This calculates the size of the 'numberofEmployees' array we receive from DnB and stores the size as a variable called - 'TotalSize' 

    After this, you need to change your main shift spect where you are mapping the actual attributes, so that it looks similar to this - 

            "TotalSize": {
              "1": {
                "@(2,numberOfEmployees)": {
                  "*": {
                    "value": "[4].attributes.EmployeeDetails[0].value.IndividualTotalEmployeeQuantity[].value",
                    "reliabilityDescription": "[4].attributes.EmployeeDetails[0].value.IndividualReliabilityText[].value"
                  }
                }
              },
              "*": {
                "@(2,numberOfEmployees)": {
                  "*": {
                    "informationScopeDescription": {
                      "Consolidated": {
                        "@(2,value)": "[4].attributes.EmployeeDetails[0].value.IndividualTotalEmployeeQuantity[].value",
                        "@(2,reliabilityDescription)": "[4].attributes.EmployeeDetails[0].value.IndividualReliabilityText[].value"
                      }
                    }
                  }
                }
              }
            },

    Here we are checking, if the 'TotalSize' is '1' then mapping whatever is the available data, but in case it is more than 1, then we need to take the 'Consolidate' scope data. 

    You can map more attributes from the DnB response for 'numberOfEmployees' as required, for the sample I have mapped just two. 



    ------------------------------
    Aditi Verma
    ------------------------------