Friday, November 11, 2011

NORMALIZER TRANSFORMATION


  • Active and Connected Transformation.
  • The Normalizer transformation normalizes records from COBOL and relational sources, allowing us to organize the data.
  • Use a Normalizer transformation instead of the Source Qualifier transformation when we normalize a COBOL source.
  • We can also use the Normalizer transformation with relational sources to create multiple rows from a single row of data.
Example 1: To create 4 records of every employee in EMP table.
  • EMP will be source table.
  • Create target table Normalizer_Multiple_Records. Structure same as EMP and datatype of HIREDATE as VARCHAR2.
  • Create shortcuts as necessary.
Creating Mapping :
  1. Open folder where we want to create the mapping.
  2. Click Tools -> Mapping Designer.
  3. Click Mapping-> Create-> Give name. Ex: m_ Normalizer_Multiple_Records
  4. Drag EMP and Target table.
  5. Transformation->Create->Select Expression-> Give name, Click create, done.
  6. Pass all ports from SQ_EMP to Expression transformation.
  7. Transformation-> Create-> Select Normalizer-> Give name, create & done.
  8. Try dragging ports from Expression to Normalizer. Not Possible.
  9. Edit Normalizer and Normalizer Tab. Add columns. Columns equal to columns in EMP table and datatype also same.
  10. Normalizer doesn’t have DATETIME datatype. So convert HIREDATE to char in expression t/f. Create output port out_hdate and do the conversion.
  11. Connect ports from Expression to Normalizer.
  12. Edit Normalizer and Normalizer Tab. As EMPNO identifies source records and we want 4 records of every employee, give OCCUR for EMPNO as 4.
  13.  
  14. Click Apply and then OK.
  15. Add link as shown in mapping below:
  16. Mapping -> Validate
  17. Repository -> Save
  • Make session and workflow.
  • Give connection information for source and target table.
  • Run workflow and see result.
Example 2: To break rows into columns
Source:
Roll_Number
Name
ENG
HINDI
MATHS
100
Amit
78
76
90
101
Rahul
76
78
87
102
Jessie
65
98
79


Target :
Roll_Number
Name
Marks
100
Amit
78
100
Amit
76
100
Amit
90
101
Rahul
76
101
Rahul
78
101
Rahul
87
102
Jessie
65
102
Jessie
98
102
Jessie
79
  • Make source as a flat file. Import it and create target table.
  • Create Mapping as before. In Normalizer tab, create only 3 ports Roll_Number, Name and Marks as there are 3 columns in target table.
  • Also as we have 3 marks in source, give Occurs as 3 for Marks in Normalizer tab.
  • Connect accordingly and connect to target.
  • Validate and Save
  • Make Session and workflow and Run it. Give Source File Directory and Source File name for source flat file in source properties in mapping tab of session.
  • See the result.

1 comment:

  1. Intersting, but I can't see the image. The description of the examples are clear

    ReplyDelete

Related Posts Plugin for WordPress, Blogger...