PowerCenter 使用查找条件来测试收到的值。这与 SQL 查询中的 WHERE 子句相似。为转换配置查找条件时,将对转换输入值和查找源或高速缓存(用查找端口代表)中的值进行比较。当您运行工作流时,PowerCenter 将基于条件在查找源或高速缓存中查询所有收到的值。

必须在所有查找转换中输入查找条件。查找条件的某些准则适用于所有查找转换,而某些准则则视您如何配置转换而定。

为查找转换输入条件时,请遵循以下准则:

  • 条件中的数据类型必须匹配。
  • 为条件中用到的每个查找端口使用一个输入端口。您可以在转换的多个条件中使用相同的输入端口。
  • 输入多个条件时,PowerCenter 将每个条件计算为 AND 而不是 OR。PowerCenter 仅返回与您指定的所有条件相匹配的行。
  • PowerCenter 匹配空值。例如,如果输入查找条件列是 NULL,PowerCenter 将该 NULL 计算为与查找中的 NULL 相等。
  • 为已排序输入配置了平面文件查找时,如果未对条件列分组,PowerCenter 将使会话失败。如果对列进行了分组,但尚未排序,PowerCenter 将按您没有配置排序输入的方式来处理查找。

查找条件准则和 PowerCenter 处理匹配的方法可能不同,具体取决于您将转换配置为动态高速缓存,不高速缓存还是静态高速缓存。

不高速缓存或静态高速缓存

        将查找转换配置为无高速缓存或使用静态高速缓存时,请遵循以下准则:

  • 创建查找条件时,您可以使用以下操作符:=, >, <, >=, <=, !=

  提示:如果包括多于一个查找条件,请将带等号的条件放在前面,以提高查找性能。例如,创建以下查找条件:

  ITEM_ID = IN_ITEM_ID PRICE <= IN_PRICE

  • 输入值必须满足查找的所有条件才能返回值。

条件可以匹配相等值或提供一个阈值条件。例如,您需要查找不是生活在加利福尼亚州的客户,或薪酬高于 $30,000 的员工。取决于源和条件的种类,查找可能会返回多个值。

处理多个匹配项

查找操作根据您在查找转换中设置的条件查找值。如果查找条件不是基于唯一的键,或如果查找源非规范化,则 PowerCenter 可能在查找源或高速缓存中找到多个匹配项。

  • 返回第一个匹配值,或返回最后一个匹配值。您可以将转换配置为返回第一个匹配的值,或返回最后一个匹配的值。第一个和最后一个值指在查找高速缓存中找到的、与查找条件相匹配的第一个和最后一个值。高速缓存查找源时,PowerCenter 通过为查找高速缓存中的每一列生成一个 ORDER BY 子句来确定哪一行是第一个哪一行是最后一个。PowerCenter Server 然后按照升序排列查找条件中的每一查找源列。

   PowerCenter 按数字升序排列数值列(如 0 到 10),从一月到十二月并从每月第一天到每月最后一天排列日期/时间列,并根据会话配置的排序方式排列字符串列。

  • 返回错误。PowerCenter 返回输出端口的默认值。

注: 当会话遇到配置为使用动态高速缓存的查找转换的多个键时,PowerCenter 将使该会话失败。

动态高速缓存

        如果将查找转换配置为使用动态高速缓存,则在查找条件中您只能使用等号 (=) 操作符。

处理多个匹配项

        不能在配置为使用动态高速缓存的转换中配置多匹配处理。当会话正在高速缓存查找表或在含有重复键的高速缓存中查找值时,如果遇到多匹配,PowerCenter 将使该会话失败。

Informatica 常用组件Lookup之七 查找条件的更多相关文章

  1. Informatica 常用组件Lookup之四 查找组件

    在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源         您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任 ...

  2. Informatica 常用组件Lookup之八 查找高速缓存

    可以配置查找转换以高速缓存查找文件或表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.Power ...

  3. Informatica 常用组件Lookup之九 配置未连接的查找转换

    在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将 ...

  4. Informatica 常用组件Lookup缓存之五 使用动态查找高速缓存

    对于关系查找,当目标表也是查找表时,可能要配置转换以使用动态高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.当您使用动态高速缓存 ...

  5. Informatica 常用组件Lookup缓存之四 使用不高速缓存的查找或静态高速缓存

    默认情况下,在为高速缓存配置查找转换时,PowerCenter 将创建静态查找高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.P ...

  6. Informatica 常用组件Lookup之十 创建查找转换

    在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定&q ...

  7. Informatica 常用组件Lookup之二 已连接和未连接的查找

    可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...

  8. Informatica 常用组件Lookup之五 转换属性

    查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...

  9. Informatica 常用组件Lookup之六 查询

    PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL ...

随机推荐

  1. Scala入门4(_的用法)

    从网上找了一篇博客,详细讲解了Scala下划线的用法,这里做保留 博客链接

  2. JAVAEE——宜立方商城03:Nginx负载均衡高可用、Keepalived+Nginx实现主备

    1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...

  3. JAVAEE——BOS物流项目14:Linux部署(安装jdk、tomcat、mySQL)和扩展资料

    1 学习计划 1.Linux部署 n 安装jdk n 安装tomcat n 安装MySQL n 将项目发布到tomcat 2.扩展资料 2 Linux部署 2.1 安装jdk 第一步:获取Linux系 ...

  4. java中的dao模式

    java中Dao模式   什么是DAO   1.Data Access Object(数据存取对象) 2.位于业务逻辑和持久化数据之间 3.实现对持久化数据的访问 DAO模式的作用 1隔离业务逻辑代码 ...

  5. Python与Django的时区问题

    在编码中牵扯到时间问题的时候,总是容易被时区问题搞混,一直以来,都是反复试验应付过去,今天终于搞清楚了个中缘由,一个心结也得以化解. Python 的时区问题 datetime.today() / d ...

  6. 错误:SSL peer shut down incorrectly

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 打开这个界面 ,修改一下.对照自己以前的没问题的项目.我的是3.3. 错误:Failed ...

  7. 使用IIS实现反向代理

    IIS的反向代理是通过ARR模块来完成的,ARR模块需要另外安装,而且只能通过Web PlatForm Installer安装.关于安装来源与步骤,帖子已有很多,不做描述.启用“Application ...

  8. [BZOJ4372]烁烁的游戏(动态点分治+线段树)

    和[BZOJ3730]震波几乎一样,每个点建两棵线段树分别代表它的管辖范围内以它为LCA的路径的贡献和它对父亲的贡献. 注意点分树上的点的距离在原树上不单调,所以不能有若距离超出限制就break之类的 ...

  9. hdu 5288 OO’s Sequence(2015多校第一场第1题)枚举因子

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5288 题意:在闭区间[l,r]内有一个数a[i],a[i]不能整除 除去自身以外的其他的数,f(l,r ...

  10. java多线程技术之八(锁机制)

    Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我 ...