繁体   English   中英

关于informatica电力中心改造任务的问题

[英]Question on informatica power center transformation task

我有一个包含名字和姓氏的源表,但是名字旁边的单元格是空白的,姓氏之前的单元格是空白的。 我想把姓放在名字前面

资源:

Firstname | lastname
ABC       | <blank>
<blank>   | DEF
GHI       |<blank>
<blank>   |JKL

Desired Output:
Firstname | lastname
ABC        | DEF
GHI        |JKL

您可以将聚合器与 MAX() function 一起使用。 创建一个聚合器并像这样定义端口 -

customer_id (set it as group by) - input+output port
in_Firstname = Firstname - input only port
in_lastname = lastname - input only port
out_Firstname = MAX(in_Firstname, NOT ISNULL(Firstname)) - output only port
out_lastname = MAX(in_lastname, NOT ISNULL(lastname)) - output only port

MAX 连同 NOT NULL function 将消除所有 null 数据。 聚合器将为每位客户仅生成 1 行。 您也可以使用 sorter 来提高性能。

在此处输入图像描述

使用变量填写空白Firstname 然后消除行而不丢失lastname

创建以下端口:

[variable] v_prev_Firstname = IIF(ISNULL(Firstname), v_prev_Firstname, Firstname)
[output]   out_Firstname = IIF(ISNULL(Firstname), v_prev_Firstname, Firstname)

这应该会产生以下结果:

Firstname | lastname
ABC       | <blank>
ABC       | DEF
GHI       | <blank>
GHI       | JKL

现在,使用Filter Tranformation转换删除lastname<blank>的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM