可以配置一个已连接的查找转换,以从映射管道中直接接收输入;您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入。
已连接的查找 |
未连接的查找 |
---|---|
直接从管道接收输入值。 |
从其它转换的 :LKP 表达式结果接收输入值。 |
可以使用动态或静态高速缓存。 |
可以使用静态高速缓存。 |
高速缓存包括映射中用到的所有查找列(即,包括在查找条件中的查找源列,以及作为输出端口链接至其它转换的查找源列)。 |
高速缓存包括查找条件中的所有查找/输出端口和查找/返回端口。 |
可以从相同的行返回多列,或插入到动态查找高速缓存中。 |
指定一个返回端口 (R)。从每行返回一列。 |
如果找不到与查找条件匹配的项,PowerCenter Server 将返回所有输出端口的默认值。如果配置动态高速缓存,PowerCenter Server 将行插入到高速缓存或不作任何更改。 |
如果找不到与查找条件匹配的项,PowerCenter Server 将返回 NULL。 |
如果有与查找条件匹配的项,PowerCenter Server 将返回所有查找/输出端口的查找条件的结果。如果配置动态高速缓存,PowerCenter Server 将更新高速缓存中的行,或不对行作任何更改。 |
如果有与查找条件匹配的项,PowerCenter Server 将查找条件的结果返回到返回端口。 |
传递多个输出值至其它转换。将查找/输出端口链接到其它转换。 |
传递一个输出值至其它转换。查找/输出/返回端口将值传递到调用 :LKP 表达式的转换。 |
支持用户定义的默认值。 |
不支持用户定义的默认值。 |
已连接的查找转换
- 已连接的查找转换直接从管道中的其它转换接收输入值。
- 对于每个输入行,PowerCenter 基于转换中的查找端口和条件来查询查找源或高速缓存。
- 如果转换不高速缓存或使用静态高速缓存,PowerCenter Server 将返回查找查询的值。
如果转换使用动态高速缓存,PowerCenter Server 在高速缓存中没有找到行时,会将该行插入到高速缓存。如果 PowerCenter Server 在高速缓存中找到行,则将更新高速缓存中的行或不作任何更改。它将行标记为"插入"、"更新"或"不更改"。
- PowerCenter Server 将从查询返回的值传递至下一个转换。
如果转换使用动态高速缓存,您可以传递行至过滤器或路由器转换,以将新行过滤到目标。
未连接的查找转换
- 未连接的查找转换从其它转换(如更新策略转换)的 :LKP 表达式结果接收输入值。
- PowerCenter Server 基于转换中的查找端口和条件来查询查找源或高速缓存。
- PowerCenter Server 返回一个值到查找转换的返回端口。
- 查找转换将该返回值传递到 :LKP 表达式。