繁体   English   中英

使用下一个记录开始日期更新informatica中的上一个记录结束日期

[英]previous record end date update in informatica using next record start date

我有一个关于使用下一个记录开始日期更新上一个记录的结束日期的问题。 问题是两条记录都以相同的表负载进入。 除了所有列的组合之外,没有唯一的行标识符。 示例:源表

HICN       FIRST_NAME       LAST_NAME        M_NAME      DOB(string)  START_DATE
X123        ABC                DEF             M      '  19600101       1/1/2013
Y456        ABC                DEF             M         19600101       2/2/2014
现在,(这是我的业务需求,我无能为力)在目标中,我有一个额外的列END DATE。 这是第一个负载,我必须使用名字,姓氏等的串联组合即时确定第一条记录和第二条记录是相同的,并且如果(且仅)当该成员的HICN编号更改时我必须用第二条记录(即HICN Y456的记录)的开始日期更新第一条记录(即HICN X123的记录)的end_date,所以我的目标应类似于:

\n HICN FIRST_NAME LAST_NAME M_NAME DOB(字符串)START_DATE END DATE\n X123 ABC DEF M'19600101 2013年1月1日2014年2月2日\n Y456 ABC DEF M 19600101 2/2/2014 12/31/1990\n

我已经想出了第二次运行如何更新日期cols和flag(我在上面没有提到的成员的活动和非活动hicn),但是不确定如果两个记录都在同一批中时该怎么做。 任何帮助将不胜感激。 谢谢

尝试以下选项:

  1. 在目标表中使用VARCHAR2(100)在ROW_ID之类的表中创建一列

  2. 使用以下命令在Expression转换中创建一个Expression-

    MD5(Col1 ||' '|| col2 ||' '|| ...等)

    '*'-是获取精确输出的分隔符

    此MD5函数将生成一个32位掩码,我们将在后续步骤中使用它

  3. 在目标表上进行动态查找

现在,每当您收到新行时,它将被添加到目标以及动态查找中 因此,如果您尝试将ROW_ID字段与计算出的第二行ROW_ID进行匹配,则可以轻松地找到重复的记录。

MD5是使用整个列列表查找重复项的最好,最快的方法之一。 不要急于创建动态查找,否则您将无法找到公仔。

让我知道您是否需要更多信息。

暂无
暂无

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

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