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. Python3 从入门到开车

    引:此文是自己学习python过程中的笔记和总结,适合有语言基础的人快速了解python3和没基础的作为学习的大纲,了解学习的方向.知识点:笔记是从多本书和视频上学习后的整合版. (一)初识pytho ...

  2. Dijkstra-傻子也能看懂的迪杰斯特拉算法(转)

    本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”.例如求下图中的1号顶点到2.3.4.5.6号顶点的最短路径.           与Floyd-Warshall算法一样 ...

  3. Bootstrap进阶三:jQuery插件概览

    单个还是全部引入 JavaScript 插件可以单个引入(使用 Bootstrap 提供的单个 *.js 文件),或者一次性全部引入(使用 bootstrap.js 或压缩版的 bootstrap.m ...

  4. 实现Ecshop注册页面手机号唯一的验证

    如果Ecshop实现了用手机号码来登陆,那么就需要在注册时保证会员所填写的手机号是唯一的,也就是说手机号还未被注册,那么该怎么来检测填写的手机号是否注册过了呢? 一.参考ecshop检测邮箱 因为注册 ...

  5. thinkphp3.2链接数据库常用的配置选项

    thinkphp3.2常用配置选项,app/Common/Conf/config.php 或者 app/Home/Conf/config.php 1 2 3 4 5 6 7 8 'SHOW_PAGE_ ...

  6. 【知了堂学习笔记】java 正则表达式

    本文参考网络上面别人的博客知识产出 正则表达式基础 1.句号 假设你想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束.另外,假设有一本英文字典,你可以用正则表达式搜索它的全部 ...

  7. ICMP隧道工具ptunnel

    ICMP隧道工具ptunnel   在一些网络环境中,如果不经过认证,TCP和UDP数据包都会被拦截.如果用户可以ping通远程计算机,就可以尝试建立ICMP隧道,将TCP数据通过该隧道发送,实现不受 ...

  8. 排序算法之快速排序Java实现

    排序算法之快速排序 舞蹈演示排序: 冒泡排序: http://t.cn/hrf58M 希尔排序:http://t.cn/hrosvb  选择排序:http://t.cn/hros6e  插入排序:ht ...

  9. Codeforces.809E.Surprise me!(莫比乌斯反演 虚树)

    题目链接 \(Description\) 给定一棵树,求\[\frac{1}{n(n-1)/2}\times\sum_{i\in[1,n],j\in[1,n],i\neq j}\varphi(a_i\ ...

  10. [SPOJ-BEADS]Glass Beads

    来源: CE1998 题目大意: 求字符串最小表示. 思路: 字符串复制一遍接在后面,构建SAM,然后每次跑小的转移. 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置 ...