我必须在Informatica Powercenter中不使用Normalizer转换来实现Normalizer转换逻辑。我是否知道我可以实现的所有方式,无论是否知道输入数据中的组数。
答案 0 :(得分:0)
通过表达式转换和可变端口了解可以实现此功能的组数。但这很乏味。 我不知道自己赢得的团体数量是多少,我很害怕。或者需要创建大量额外的列,希望它足够(但没有证明)。
答案 1 :(得分:0)
尝试使用SQL实现。覆盖源限定符中的以下SQL并尝试加载到目标
规范化器将列转换为informatica中的行。我使用Oracle SQL的“按级别连接”
实现了该方案 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 MARKS
FROM MARKS, DATA
ORDER BY NAME;
NAME SUBJECT MARKS
raghu physics 73
raghu maths 90
raghu chemistry 82
raj physics 70
raj chemistry 80
raj maths 90
ram physics 70
ram maths 75
ram chemistry 85
rani chemistry 80
rani physics 80
rani maths 95
ravi maths 90
ravi physics 90
ravi chemistry 80
解决方案可能不是动态的,但它符合您的目的。
由于 拉吉
答案 2 :(得分:0)
您可以使用Java Transformation,我在许多实例中使用过Java转换来实现Normalizer提供的结果。