簡體   English   中英

按日期和時間對數據進行排序,然后選擇下一個最小日期以更新informatica中的另一個日期列

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

具有這樣的數據這是一個Teradata表,這是我在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

現在,我的要求是下面的數據集:如何使用或修改源表以獲取以下結果,該結果也是Teradata中的表(我也可以在源限定符中使用sqloverride)

 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM