Step 2: Reformat the Join_Date Values and define added fields

The joining date for the customer in this file is in the format (M/DD/YYYY), whereas the format of the Join_Date in the entity is (MM/DD/YYYY). The date format must be reformatted before storing it in the entity. The second step of this exercise is

  1. Reformat the Join_Date values.

  2. Assign values to the added fields (DateMonthJoinDate, Customer_Value, and Rating).

  • To define the actions, go to the Code tab>On Reading record function and expand it. To add an β€œAction box”, click the [+ Action box] button.

  • In this Action box, the format of the join date will be aligned to the format of the destination entity. To give it a more meaningful label, click on the text and enter the text as β€œfix join date field”.

  • To define the variables to store values in this Action box, go to the β€œVariables” tab and add a new variable by clicking the [+ Variable] button.

  • To store the β€œJoin_Date” value in the Reader as string before reformatting it, define the first variable as follows: Variable name: β€œstrList”, Data Type: β€œstring”, Select the β€œ[List]” checkbox. It displays as β€œList”. This defines the variable to store a list of strings.

  • To store the value of the Day from the β€œJoin_Date”, add and define the second variable as follows: Variable name: β€œstrDay”, Data Type: β€œstring”

  • To store the value of the Month from the β€œJoin_Date”, add and define the third variable as follows: Variable name: β€œstrMonth”, Data Type: β€œstring”

  • To store the value of the Year from the β€œJoin_Date”, add and define the fourth variable as follows: Variable name: β€œstrYear”, Data Type: β€œstring”

  • To store the value of the adjusted DateTime of the β€œJoin_Date”, add and define the last variable of the β€œAction box” as follows: Variable name: β€œadjustedDateTime”, Data Type: β€œstring”

  • To define the actions in the β€œAction box”, go to the β€œCode” tab and add an Action.

  • To define the action to store the Join_Date as a list of strings:

    1. Select Action as β€œSplit string”.

    2. Select Target Value as β€œstrList”.

    3. Select Source as Variables>reader>Join_Date. It displays as β€œreader.Join_Date”.

    4. Enter Delimiter as β€œ/” (without quotes). (the date format in the source file is β€œd/mm/yyyy hh:mm:ss”, hence, the list will be created by separating the digits based on the β€œ/”)

  • To update the month's value (first part of the list of strings) into a variable, add and define the second Action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as β€œstrMonth”.

    3. Select Value as Variables>strList>getFirst(). It displays as β€œstrList.getFirst()”.

  • To update the format of the β€œstrMonth” value to align it with that of the β€œJoin_Date” in the entity, i.e., convert the format from β€œm/” to β€œmm/”, add and define the third Action:

    1. Select Action as β€œCondition action”.

    2. Enter the description as β€œif month is one digit”.

  • To define the criteria, go to the β€œCriteria” tab in the β€œCondition action” and add a new Criteria bar.

  • Define the Criteria bar to check the value of β€œstrMonth” is less than 2 digits:

    1. Select Source as Variables>strMonth>length(). It displays as β€œstrMonth.length()”.

    2. Select Operator as β€œIs Equal”.

    3. Enter Integer value as β€œ1” and press Enter.

  • To define the action if the Criteria Bar returns true, go to the Code tab>On True section. Add and define the action to update the β€œstrMonth” variable with a β€œ0” placed before the value:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as β€œstrMonth”.

    3. Select Source as follows to concatenate the β€œ0” with the value of β€œstrMonth”:

      1. Enter the digit β€œ0” (without quotes) and press Enter.

      2. Select Variables>strMonth. The source field displays as β€œ0β€β€œstrMonth”.

  • To store the second item of list of strings (day's value) in the variable β€œstrDay”, add and define an action after the β€œCondition action” as follows:

    1. Select Action as β€œGet List item”.

    2. Select Target Value as β€œstrDay”.

    3. Select Source as Variables>strList. It displays as β€œstrList”.

    4. Enter the index position as β€œ1” (without quotes) and press Enter.

  • To update the format of the β€œstrDay”value to align it with that of the β€œJoin_Date” in the entity i.e convert the format from β€œd/” to β€œdd/”, add and define the third action:

    1. Select Action as β€œCondition action”.

    2. Enter the description as β€œif day is one digit”.

  • To define the criteria for the β€œCondition action”, go to the β€œCriteria” tab in the β€œCondition action” and add a new Criteria bar.

  • Define the Criteria bar to check the value of β€œstrDay” is less than 2 digits:

    1. Select Source as Variables>strDay>length(). It displays as β€œstrDay.length()”.

    2. Select Operator as β€œIs Equal”.

    3. Enter Integer value as β€œ1” and press Enter.

  • To define the action if the Criteria bar returns true, go to the Code tab>On True section, add and define the action to update the β€œstrDay” variable with a β€œ0” placed before the value:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as β€œstrDay”.

    3. Select Value as follows to concatenate the β€œ0” with the value of β€œstrDay”:

      1. Enter the digit β€œ0” (without quotes) and press Enter.

      2. Select Variables>strDay. It displays as β€œstrDay”. The source field displays as β€œ0β€β€œstrDay”.

  • To separate values of the year and time, the last part of the first list of strings needs to be split further. After the Condition action, add and define the Action as follows:

    1. Select Action as β€œSplit string”.

    2. Select Target Value as β€œstrList”.

    3. Select the Source as Variables>strList>getLast(). It displays as β€œstrList.getLast()”.

    4. Enter the Delimiter as β€œ ” (space without quotes). (The list of strings to split is the last part of the first string i.e. β€œyyyy hh:mm:ss”, hence, the list of strings will be created by separating the values based on the β€œ(space)”.)

  • To update the year's value (first part of the list of strings created in the previous step) into a variable, add and define the second action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as β€œstrYear”.

    3. Select the Value as Variables>strList>getFirst(). It displays as β€œstrList.getFirst()”.

  • To update the values of day, month and year in the Join_Date read by the Reader into the format of the Join_Date field in the entity (yyyy-mm-dd hh:mm:ss), add and define an Action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as reader>Join_Date(). It displays as β€œreader.Join_Date()”.

    3. Select Value as follows:

      1. Select Variables>strYear. It displays as β€œstrYear”.

      2. Type β€œ-” (without quotes) and press Enter.

      3. Select Variables>strMonth. It displays as β€œstrMonth”.

      4. Type β€œ-” (without quotes) and press Enter.

      5. Select Variables>strDay. It displays as β€œstrDay”.

      6. Type β€œ(space)” (without quotes) and press Enter.

      7. Type β€œ00-00-00” (without quotes) and press Enter. The Source value displays as β€œstrYearβ€β€œ-β€β€œstrMonthβ€β€œ-β€β€œstrDayβ€β€œ(space)β€β€œ00-00-00”

  • To update the values of the Day and Month in the reader field of β€œDayMonthJoinDate”, add and define an Action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as reader>DayMonthJoinDate().

    3. Select Value as follows:

      • Select Variables>strDay. It displays as β€œstrDay”.

      • Select Variables>strMonth. It displays as β€œstrMonth”.

      The Source value displays as β€œstrDayβ€β€œstrMonth”.

  • To assign a value to β€œCustomer_Value” field added to the Reader, add and define an Action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as reader>Customer_Value. It displays as β€œreader.Customer_Value”.

    3. Type the Value as β€œ0” and press Enter.

  • To assign a value to β€œRating” field added to the Reader, add and define an Action as follows:

    1. Select Action as β€œUpdate Variable”.

    2. Select Target Value as reader>Rating. It displays as β€œreader.Rating”.

    3. Type the Value as β€œ1” and press Enter.

  • To save the ETL pipeline, click [Save].

  • To publish the ETL pipeline, click [Publish].

  • Ensure the ETL pipeline is enabled.

  • Click the [Run] button.

  • The Run ETL pipeline dialog box displays. Click [Run] to execute the ETL pipeline.

  • The ETL pipeline will run on the date and time specified. The records will be added to the destination file.

  • The data will be updated from the source to destination. To verify, check the target entity. The data from the file will be updated in the target entity along with the added fields for DayMonthJoinDate, Customer_Value, and Rating.

Last updated