I have to implement Normalizer transformation logic without using Normalizer transformation in Informatica Powercenter. May i know all the ways i can implement with or without knowing the number of groups in input data.

3

Best Answer


Knowing the number of groups it's possible to implement this with expression transformation and variable ports. But it's tedious.Without knowing the number of groups it won't be possible, I'm afraid. Or will require to create plenty of additional columns hoping it will be enough (but with no certanity).

Try implementing using SQL. Override the below SQL in Source Qualifier and try loading into the target

The normalizer converts columns to rows in informatica. I have implemented the scenario using Oracle SQL's "Connect by Level"

 CREATE TABLE MARKS(NAME VARCHAR2(50),SUBJ1 NUMBER,SUBJ2 NUMBER,SUBJ3 NUMBER);INSERT INTO MARKS VALUES ('RAJ',70,80,90);INSERT INTO MARKS VALUES ('RAM',70,85,75);INSERT INTO MARKS VALUES ('RAVI',90,80,90);INSERT INTO MARKS VALUES ('RANI',80,80,95);INSERT INTO MARKS VALUES ('RAGHU',73,82,90);COMMIT;WITH DATA AS (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 3)SELECT NAME,DECODE(L,1,'PHYSICS',2,'CHEMISTRY',3, 'MATHS') AS SUBJECT , DECODE(L ,1,SUBJ1,2,SUBJ2,3,SUBJ3) AS MARKSFROM MARKS, DATA ORDER BY NAME;NAME SUBJECT MARKSraghu physics 73raghu maths 90raghu chemistry 82raj physics 70raj chemistry 80raj maths 90ram physics 70ram maths 75ram chemistry 85rani chemistry 80rani physics 80rani maths 95ravi maths 90ravi physics 90ravi chemistry 80

The solution might not be dynamic but it serves your purpose.

Thanks Raj

You can use Java Transformation, I have used Java transformation in many instances to achieve results that a Normalizer would provide.