![](/img/trans.png)
[英]How to delete rows containing 'null' in informatica power center
[英]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.