通过赋予列优先级来更新informatica中的表

时间:2015-04-16 05:50:32

标签: updates informatica

我正在使用基于某些条件的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中处理它。请你帮助我

1 个答案:

答案 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将更新。

我希望我说得对,请告诉我们。