Informatica查找:尝试查找仅输出端口的输入值

时间:2017-04-30 17:54:52

标签: etl informatica informatica-powercenter

在Informatica(9.1.0)映射中,查找转换LKP_TARGET派生自目标表TARGET。

查找的条件是:

  

CUST_ID = in_CUST_ID

LKP_TARGET有一个端口NewLookupRow,它不是查找的一部分(不是从目标表派生的),没有关联的表达式,只是输出,并且查找中没有其他端口具有关联的表达式引用它。但是,此端口的输出值处于路由器转换的Groups条件下。

我无法找到此端口如何获取其输出的值。建议表示赞赏。

1 个答案:

答案 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