简体   繁体   中英

Sort data by date & time and then select the next min date to update the other date column in informatica

Have Data like this This is a teradata table which is my source in informatica

 S_ID      A_ID     START_DATE          END_DATE      STATUS

   1          a         01-02-2017         01-03-2017     CLOSED

   1          a         01-03-2017         31-12-9999     CLOSED       

   1          b         01-04-2017         31-12-9999     CLOSED

   1          c         01-05-2017         31-12-9999     ACTIVE

Now my requirement is this set of data below: how can i use or modify my source table to get the below results which is also a table in Teradata (i can also use a sqloverride in source qualifier)

 S_ID      A_ID     START_DATE          END_DATE      STATUS

   1          a         01-02-2017         01-03-2017     CLOSED

   1          a         01-03-2017         01-04-2017     CLOSED       

   1          b         01-04-2017         01-05-2017     CLOSED

   1          c         01-05-2017         31-12-9999     ACTIVE

只需使用表达式转换来填充发送出去的END_DATE,即在END_DATE_OUT端口中使用IIF语句即可:

IIF(STATUS = 'CLOSED', ADD_TO_DATE(START_DATE, 'MM', 1), END_DATE)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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