Informatica 常用组件Lookup之七 查找条件
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之七 查找条件的更多相关文章
- Informatica 常用组件Lookup之四 查找组件
在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源 您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任 ...
- Informatica 常用组件Lookup之八 查找高速缓存
可以配置查找转换以高速缓存查找文件或表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.Power ...
- Informatica 常用组件Lookup之九 配置未连接的查找转换
在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将 ...
- Informatica 常用组件Lookup缓存之五 使用动态查找高速缓存
对于关系查找,当目标表也是查找表时,可能要配置转换以使用动态高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.当您使用动态高速缓存 ...
- Informatica 常用组件Lookup缓存之四 使用不高速缓存的查找或静态高速缓存
默认情况下,在为高速缓存配置查找转换时,PowerCenter 将创建静态查找高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.P ...
- Informatica 常用组件Lookup之十 创建查找转换
在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定&q ...
- Informatica 常用组件Lookup之二 已连接和未连接的查找
可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...
- Informatica 常用组件Lookup之五 转换属性
查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...
- Informatica 常用组件Lookup之六 查询
PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL ...
随机推荐
- 授权中的with admin option和with grant option
oracle: 当给一个用户授予系统权限时带上with admin option,他可以把此权限授予给其他用户.角色,而在revoke授予给这个用户的系统权限时不会级联回收他授予给其他用户的权限.如授 ...
- ssm框架常见问题
搭建SSM框架时,总是遇到这样那样的问题,有的一眼就能看出来,有的需要经验的积累.现将自己搭建SSM框架时遇到的典型问题总结如下: 一.Struts2框架下的action中无法使用@Autowired ...
- HTML基础-DAY2
表单标签form 功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含textarea.sel ...
- luoguP5108 仰望半月的夜空 [官方?]题解 后缀数组 / 后缀树 / 后缀自动机 + 线段树 / st表 + 二分
仰望半月的夜空 题解 可以的话,支持一下原作吧... 这道题数据很弱..... 因此各种乱搞估计都是能过的.... 算法一 暴力长度然后判断判断,复杂度\(O(n^3)\) 期望得分15分 算法二 通 ...
- BZOJ 2115: [Wc2011] Xor 线性基 dfs
https://www.lydsy.com/JudgeOnline/problem.php?id=2115 每一条从1到n的道路都可以表示为一条从1到n的道路异或若干个环的异或值. 那么把全部的环丢到 ...
- linux下elasticsearch安装教程
centos 7.5安装 elasticsearch 第一步,安装elasticsearch需要Java8 首先使用 yum list installed | grep java 查看安装的Java版 ...
- Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) A. Bear and Game 水题
A. Bear and Game 题目连接: http://www.codeforces.com/contest/673/problem/A Description Bear Limak likes ...
- SPOJ 10234. Here Be Dragons
The Triwizard Tournament's third task is to negotiate a corridor of many segments, and reach the oth ...
- 原型设计工具 Axure
ahjesus Axure RP 7.0注册码 ahjesus Axure RP 7.0注册码 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9I ...
- Git_添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...