我正在使用基于某些条件的ID更新表格( ex:id为null)通过目标更新覆盖概念。
我的要求是,在同一个表中有一个table_num coulmn,其中有3个值表示1,2,3。 基本上在dw术语中,我必须首先更新维度,然后更新事实。这里是一个维度,其中2和3是事实。
所以如果我有3条记录,其中table_num 1,2,3的id为null。我应该只用table_num = 1更新记录。
第二种情况:如果table_num = 1的id不为null,而且2和3的null为null。那么我必须更新2和3。
第三次SCenario:如果是2或3则更新2或3。
所以基本上table_num = 1应该得到第一个优先级。
我知道如何在pl / sql过程中处理它并调用存储过程转换。但我想在informatica中处理它。请你帮助我
答案 0 :(得分:0)
您可以在流程中使用Lookupon目标表: 加入条件:用于更新目标的任何列 输出:table_num
要使其工作,您必须将多个匹配的Lookup策略(在查找的“属性”选项卡中)配置为使用第一个值并添加查找源过滤器: ID IS NULL < /强>
然后,您可以使用Lookup中的table_num作为更新目标的附加条件。如果table_num = 1已经更新(即ID IS NOT NULL),但table_num = 2没有,则table_num = 2将更新。
我希望我说得对,请告诉我们。