[英]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.