![](/img/trans.png)
[英]Comparing values between records in a table using Informatica PowerCenter
[英]Previous Workflow Start Time as start date in a filter in Informatica PowerCenter
好的,情況看起來是這樣的:我有一個運行許多映射的工作流。 在這些映射中,我需要一個過濾器來設置從 salesforce 到 oracle 數據庫的重新遷移數據的特定增量加載時間。 對於數據的初始加載,我們設置了一個過濾器,如下所示:
CreatedDate >= TO_DATE('01/01/1900','MM/DD/YYYY') and CreatedDate <= $$EXPORTDATE
其中$$EXPORTDATE
被分配給Workflow Manager中引用WORKFLOWSTARTTIME
的工作流變量。 現在對於重新遷移數據的增量加載,我需要使用上一次運行的開始時間作為開始日期(對於工作流的下一次運行)。
為此,我們創建了一個 oracle 數據庫表,我們在其中手動輸入了運行的開始日期。 該表只有兩列RECID
和EXPORTDATE
。 它們與我正在使用的任何對象或表沒有任何公共列。 任務是使用此表在過濾器中設置開始日期。
我怎樣才能做到這一點? 查找是否可能,我試過了但沒有成功?
你可以做 -
select * from source, oracle_datetab@Oracle_DB OraDT where CreatedDate >= TO_DATE('01/01/1900','MM/DD/YYYY') and CreatedDate <= OraDT.EXPORTDATE
select -99 as dummy_join_condition, EXPORTDATE as EXPORTDATE from oracle_datetab
連接條件應基於 dummy_join_condition。 然后使用過濾器轉換 -
CreatedDate <=:lkp.LKP_oracle_datetab(-99)
如果您遇到任何問題,請告訴我。
SQ1_source - create a dummy column with value = -99 --->
JNR on this dummy column. --> FIL on CreatedDate <= SQ2.EXPORTDATE
SQ2_oracle_datetab - create a dummy column with value = -99 --->
非常感謝您的建議,確實我使用了第三個選項並且效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.