使用Informatica的Normalizer转换实现按ID列列转行
使用Informatica Normalizer转换实现数据规范化
需求背景
现有宽表结构数据:
| POLICY_NUMBER | AGENT_NUMBER_1 | AGNT_PCT_RT_1 | AGENT_NUMBER_2 | AGNT_PCT_RT_2 |
|---|---|---|---|---|
| SC123456789 | CL00022250 | 50 | CL00050083 | 25 |
需要转换为行式结构:
- SC123456789 ---> CL00022250 ----> 50
- SC123456789 ---> CL00050083 ----> 25
操作步骤
创建映射并连接源表
在Informatica PowerCenter中新建映射,将源表的所有字段拖拽到Normalizer转换的输入端口。配置Normalizer的重复组
- 打开Normalizer转换的编辑界面,创建一个重复组,设置重复次数为
2(对应两组代理数据)。 - 将
AGENT_NUMBER_1和AGENT_NUMBER_2映射到重复组内的同一个输出字段,命名为AGENT_NUMBER。 - 将
AGNT_PCT_RT_1和AGNT_PCT_RT_2映射到重复组内的同一个输出字段,命名为AGNT_PCT_RT。 - 保持
POLICY_NUMBER为非重复组字段,确保每一行输出都携带该保单号。
- 打开Normalizer转换的编辑界面,创建一个重复组,设置重复次数为
验证输出结果
将Normalizer的输出端口(POLICY_NUMBER、AGENT_NUMBER、AGNT_PCT_RT)连接到目标表或查看预览数据,即可得到需求中的行式结构。
内容的提问来源于stack exchange,提问作者karthik
相关产品推荐
相关产品推荐

