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
Reformat the Join_Date values.
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:
Select Action as βSplit stringβ.
Select Target Value as βstrListβ.
Select Source as Variables>reader>Join_Date. It displays as βreader.Join_Dateβ.
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:
Select Action as βUpdate Variableβ.
Select Target Value as βstrMonthβ.
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:
Select Action as βCondition actionβ.
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:
Select Source as Variables>strMonth>length(). It displays as βstrMonth.length()β.
Select Operator as βIs Equalβ.
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:
Select Action as βUpdate Variableβ.
Select Target Value as βstrMonthβ.
Select Source as follows to concatenate the β0β with the value of βstrMonthβ:
Enter the digit β0β (without quotes) and press Enter.
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:
Select Action as βGet List itemβ.
Select Target Value as βstrDayβ.
Select Source as Variables>strList. It displays as βstrListβ.
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:
Select Action as βCondition actionβ.
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:
Select Source as Variables>strDay>length(). It displays as βstrDay.length()β.
Select Operator as βIs Equalβ.
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:
Select Action as βUpdate Variableβ.
Select Target Value as βstrDayβ.
Select Value as follows to concatenate the β0β with the value of βstrDayβ:
Enter the digit β0β (without quotes) and press Enter.
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:
Select Action as βSplit stringβ.
Select Target Value as βstrListβ.
Select the Source as Variables>strList>getLast(). It displays as βstrList.getLast()β.
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:
Select Action as βUpdate Variableβ.
Select Target Value as βstrYearβ.
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:
Select Action as βUpdate Variableβ.
Select Target Value as reader>Join_Date(). It displays as βreader.Join_Date()β.
Select Value as follows:
Select Variables>strYear. It displays as βstrYearβ.
Type β-β (without quotes) and press Enter.
Select Variables>strMonth. It displays as βstrMonthβ.
Type β-β (without quotes) and press Enter.
Select Variables>strDay. It displays as βstrDayβ.
Type β(space)β (without quotes) and press Enter.
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:
Select Action as βUpdate Variableβ.
Select Target Value as reader>DayMonthJoinDate().
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:
Select Action as βUpdate Variableβ.
Select Target Value as reader>Customer_Value. It displays as βreader.Customer_Valueβ.
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:
Select Action as βUpdate Variableβ.
Select Target Value as reader>Rating. It displays as βreader.Ratingβ.
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
