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
