在Informatica(9.1.0)映射中,查找转换LKP_TARGET派生自目标表TARGET。
查找的条件是:
CUST_ID = in_CUST_ID
LKP_TARGET有一个端口NewLookupRow
,它不是查找的一部分(不是从目标表派生的),没有关联的表达式,只是输出,并且查找中没有其他端口具有关联的表达式引用它。但是,此端口的输出值处于路由器转换的Groups
条件下。
我无法找到此端口如何获取其输出的值。建议表示赞赏。
答案 0 :(得分:2)
配置动态查找时会自动添加NewLookupRow端口。以下是Informatica手册的相关摘录。
NewLookupRows
配置查找转换以使用a时 在动态缓存中,Designer将NewLookupRow端口添加到 转型。 Integration Service为端口分配值, 取决于它对查找缓存执行的操作。
下表列出了可能的NewLookupRow值:
NewLookupRow Value | Description ------------------------------------------------------------------------ 0 | Integration Service does not update | or insert the row in the cache. 1 | Integration Service inserts the row into the cache. 2 | Integration Service updates the row in the cache.
当Integration Service读取一行时,它会更改查找缓存 取决于查询查询和查找的结果 您定义的转换属性。它赋值0,1或2 到NewLookupRow端口以指示它是否插入或更新行 在缓存中,或不做任何更改。
NewLookupRow值指示Integration Service如何更改 查找缓存。它不会更改行类型。因此,使用一个 过滤器或路由器转换和更新策略转换 保持目标表和查找缓存同步。
配置过滤器转换以将新行和更新行传递给 将策略转换传递给缓存之前的更新策略转换 目标。使用“更新策略”转换更改行类型 要插入或更新的每一行,具体取决于NewLookupRow值。
您可以删除不更改缓存的行,也可以传递 他们到另一个目标。
根据过滤器转换定义过滤条件 NewLookupRow的值。例如,使用以下条件 将插入和更新的行传递给缓存的目标:
NewLookupRow!= 0