可以使用源限定符和应用程序源限定符转换在相同的数据库中执行两个源的外部联接.当 PowerCenter 执行外部联接时,它将返回其中一个源表的所有行和另一个源表中匹配联接条件的行. 如果您需要联接两个表并返回其中一个表的所有行,可使用外部联接.例如,当您希望联接注册客户表和每月购买情况表以确定注册客户的购买行为是否活跃时,您就可以执行外部联接.使用外部联接,您可以联接注册客户表和每月购买情况表,并返回注册客户表中的所有行,包括上个月无购买行为的客户.如果您执行正常联接,PowerCenter 将…
联接源数据 可以使用一个源限定符转换来联接来自多个关系表的数据.这些表必须能从相同的实例或数据库服务器访问.当映射使用相关的关系源时,您可以在一个源限定符转换中同时联接两个源.在会话期间,源数据库在传递数据至PowerCenter 之前先执行联接.如果源表编制了索引,此操作可以增强性能.提示: 为异类源使用联接转换以及用联接转换联接平面文件. 默认联接 当您在一个源限定符转换中联接相关表时,PowerCenter 将基于每个表中的相关键来联接表. 这种默认联接是内同等联接,在 WHERE 子句中…
 转换类型:主动.已连接 1 Source Qualifier 概述 当你添加关系表或平面文件源定义至映射时,需要将它连接至 Source Qualifier 组件.Source Qualifier 代表了 PowerCenter 在运行会话时读取的行.可以使用它执行以下任务:  联接来自相同源数据库的数据.您可以通过链接源至源限定符转换来联接具有主键-外键关系的两个或多个表. 当 PowerCenter Server 读取源数据时过滤行.如果您包含过滤条件,PowerCenter Server…
可以配置 Designer 在您将源拖到映射中时默认创建源限定符转换,您也可以手动创建源限定符转换. 默认创建源限定符转换 可以配置 Designer 在您将源拖到映射中时自动创建一个源限定符转换. 要自动创建源限定符转换: 在 Designer 中选择"工具-选项". 选择"格式"选项卡. 在"工具"选项中,选择 Mapping Designer. 打开源时选择"创建源限定符". 手动创建源限定符转换 可以在 Mapping…
使用已排序端口时,PowerCenter 将添加端口至默认查询中的 ORDER BY 子句.PowerCenter Server 将添加配置的端口号,从源限定符转换的顶部开始.在映射中包括以下任何转换时,您可以使用已排序端口来提高性能: 聚合.为已排序输入配置聚合转换时,您可以使用已排序端口发送已排序的数据.聚合转换中的分组依据端口必须与源限定符转换中的已排序端口顺序相匹配. 联接.为已排序输入配置联接转换时,您可以使用已排序端口发送已排序的数据.按与源限定符转换中相同的方式来配置已排序端口的顺…
User defined join :      输入用户定义的联接与输入自定义 SQL 查询类似.但是,只需输入 WHERE 子句的内容,而不是整个查询. 添加用户定义的联接时,源限定符转换包括默认 SQL 查询中的设置.但是,如果在添加用户定义的联接后修改默认查询,PowerCenter 将仅使用在源限定符转换中的 SQL 查询属性中定义的查询. 可以在用户定义的联接中包括映射参数和变量.包括字符串映射参数或变量时,请使用适用于源系统的字符串标识符.对于大多数数据库,您应用单引号将字符串参数…
2 默认查询 对于关系源,PowerCenter Server 将在运行会话时为每个源限定符转换生成查询.对于每个在映射中使用的源列,默认查询均为 SELECT 语句.也就是说,PowerCenter Server 仅读取连接到另一个转换的列. 连接至源限定符转换的源定义 虽然源定义中有许多列,但是只有三列连接至另一个转换.在本例中,PowerCenter Server 将生成仅选择此三列的默认查询:SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY,…
  可以在源限定符转换的"属性"选项卡中添加会话前和会话后 SQL 命令.您可能要使用会话前 SQL 以在会话开始时将时间标识行写入源表. PowerCenter 在读取源之前对源数据库运行会话前 SQL 命令, 在写入目标之后对源数据库运行会话后 SQL 命令. 可以在会话属性"映射"选项卡上的"转换"视图中覆盖 SQL 命令.您还可以配置 PowerCenter 在运行会话前或会话后 SQL 命令遇到错误时是停止还是继续.      当您在源…
如果希望 PowerCenter 从源选择唯一值,您可以使用"选择相异"选项.例如,您可以使用此功能从列出总销售额的表中提取唯一客户标识.使用"选择相异"过滤器可以较早地过滤掉不必要的数据,这有助于提高性能. 默认情况下,Designer 生成 SELECT 语句.如果选择"选择相异",源限定符转换将在默认 SQL 查询中包括此设置.          例如,启用"选择相异"选项.Designer 将把 SELECT DIST…
通过输入源过滤器,可以降低 PowerCenter  查询的行数.如果在源过滤器中包括字符串 "WHERE" 或较大对象,PowerCenter 将使会话失败. 源限定符转换包括默认 SQL 查询中的源过滤器.但是,如果在添加源过滤器后修改默认查询,PowerCenter 将仅使用在源限定符转换 SQL 查询部分中定义的的查询. 可以在源过滤器中包括映射参数和变量.包括字符串映射参数或变量时,请使用适用于源系统的字符串标识符.对于大多数数据库,您应用单引号将字符串参数或变量名括起来.…
源限定符转换提供 SQL 查询选项以覆盖默认的查询.您可以输入您的源数据库支持的 SQL 语句.输入查询之前,请连接您要在映射中使用的所有输入和输出端口. 编辑 SQL 查询时,您可以生成并编辑默认查询.当 Designer 生成默认的查询时,它将合并所有其它配置的选项,例如过滤器或已排序端口数.结果查询将覆盖您随后可能在转换中配置的所有其它选项. 可以在 SQL 查询中包括映射参数和变量.包括字符串映射参数或变量时,请使用适用于源系统的字符串标识符.对于大多数数据库,您应用单引号将字符串参数或…
PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL 覆盖"属性中自定义默认查询. 默认查找查询         默认查找查询包含以下语句:  SELECT.SELECT 语句包括映射中的所有查找端口.您可以通过使用查找 SQL 覆盖属性生成 SQL 来查看 SELECT 语句.切勿在默认 SQL 语句中添加或删除任何列. ORDER BY.ORDE…
查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数据高速缓存大小. 选项 查找类型 说明 Lookup SQL Override 关系 覆盖默认 SQL 语句以查询查找表. 指定希望 PowerCenter 用以查询查找值的 SQL 语句.仅在已启用查找高速缓存的情况下使用. Lookup Table Name 关系 指定转换将查找和高速缓存其值的…
在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源         您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任何关系源或目标定义 资料库中的任何平面文件源或目标定义 PowerCenter Server 和 PowerCenter Client 机器都可以连接到的任何表或文件 查找表可以是单个表,您也可以使用查找 SQL 覆盖以将相同数据库中的多个表联接起来.PowerCenter 为所有传入查找转换的行,…
在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将行标记为更新,如更新缓慢更改的维表 在一个映射中多次调用相同的查找         配置未连接的查找转换时,请完成以下步骤:  添加输入端口. 添加查找条件. 指定一个返回值. 调用其它转换中的查找. 步骤 1. 添加输入端口 为 :LKP 表达式中的每个参数创建一个输入端口.您需要在查找转换中为每…
转换类型:已连接.主动        聚合转换允许您执行聚合计算,比如平均值和总和.聚合转换与表达式转换不同,您可以使用聚合转换对多组执行计算.而表达式转换只允许您逐行地执行计算.        使用转换语言来创建聚合转换时,您可以使用条件子句过滤行,这比 SQL 语言更为灵活.        PowerCenter 执行其读取的聚合计算并存储聚合高速缓存中必需的数据组和行数据.         创建包含聚合转换的会话后,您可启用会话选项和增量聚合.当 PowerCenter Server 执行…
对于关系查找,当目标表也是查找表时,可能要配置转换以使用动态高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.当您使用动态高速缓存时,PowerCenter 在传递行至目标时将更新查找高速缓存. PowerCenter 从源读取行时,会通过执行以下的其中一种操作来更新查找高速缓存: 将行插入高速缓存.行不在高速缓存中,可指定将行插入高速缓存.可配置转换以根据输入端口或生成的序列标识将行插入高速缓存.PowerCenter 标记…
默认情况下,在为高速缓存配置查找转换时,PowerCenter 将创建静态查找高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.PowerCenter 处理转换时不会更新高速缓存.PowerCenter 处理不高速缓存查找的方式与处理高速缓存查找的方式相同,唯一的区别是前者查询查找源,而后者构建和查询高速缓存. 查找条件为真时,PowerCenter 将从查找源或高速缓存返回值.对于已连接的"查找"转换,PowerC…
如果您认为查找源在 PowerCenter 上次构建高速缓存时已更改,则可指示 PowerCenter 重建查找高速缓存. 重建高速缓存时,PowerCenter 会覆盖现有永久高速缓存文件而创建新的高速缓存文件.PowerCenter 重建高速缓存时会向会话日志写入消息. 当映射包含一个查找转换或映射包含共享了高速缓存的多个目标载入顺序组中的查找转换时,可以重建高速缓存.当动态查找与同一映射中的静态查找共享高速缓存时,不必重建高速缓存. 某些情况下,即使未选择重新高速缓存查找源,PowerCe…
可以将"查找"转换配置为使用非永久或永久高速缓存.基于"查找高速缓存永久"属性的会话成功后,PowerCenter 将保存或删除查找高速缓存文件. 如果查找表在会话间没有更改,则可以将"查找"转换配置为使用永久查找高速缓存.PowerCenter 在会话期间保存并重新使用高速缓存文件,消除了读取查找表所需的时间. 使用非永久高速缓存 默认情况下,在"查找"转换中启用高速缓存时,PowerCenter 将使用非永久高速缓存.在会…
可以配置查找转换以高速缓存查找表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCenter 会将条件值存储在索引高速缓存区中,而将输出值存储到数据高速缓存区.PowerCenter 将查询进入转换的每行的高速缓存. 默认情况下,PowerCenter 还将在 $PMCacheDir 中创建高速缓存文件.如果数据在存储器高速缓存区中放不下,PowerCenter 会将溢出值存储在高速…
在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定". 在"选择查找表"对话框中,您可以选择以下选项: 选择现有表或文件定义. 选择从关系表或文件导入定义. 跳过以创建手动定义. 为每个需要定义的查找条件定义输入端口. 对于未连接查找转换,请为需要从查找返回的值创建一个返回端口. 为需要传递到其它转换的值定义输出端口. 对于使用动态…
可以配置查找转换以高速缓存查找文件或表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCenter 会将条件值存储在索引高速缓存区中,而将输出值存储到数据高速缓存区.PowerCenter 将查询进入转换的每行的高速缓存. 默认情况下,PowerCenter 还将在 $PMCacheDir 中创建高速缓存文件.如果数据在存储器高速缓存区中放不下,PowerCenter 会将溢出值存储…
PowerCenter 使用查找条件来测试收到的值.这与 SQL 查询中的 WHERE 子句相似.为转换配置查找条件时,将对转换输入值和查找源或高速缓存(用查找端口代表)中的值进行比较.当您运行工作流时,PowerCenter 将基于条件在查找源或高速缓存中查询所有收到的值. 必须在所有查找转换中输入查找条件.查找条件的某些准则适用于所有查找转换,而某些准则则视您如何配置转换而定. 为查找转换输入条件时,请遵循以下准则: 条件中的数据类型必须匹配. 为条件中用到的每个查找端口使用一个输入端口.您…
创建查找转换时,您可以选择使用关系表或平面文件作为查找源. 关系查找 使用关系表作为查找源来创建查找转换时,您可以使用 ODBC 连接到查找源并导入表定义作为查找转换的结构. 仅可对关系查找使用以下选项: 如果需要添加 WHERE 子句或查询多个表,则可以覆盖默认的 SQL 语句. 您可以对关系查找使用动态查找高速缓存. 平面文件查找 使用平面文件作为查找源时,可以使用资料库中的任何平面文件定义,或导入平面文件定义.如果导入平面文件查找源,Designer 将调用平面文件向导. 仅可对平面文件查…
可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :LKP 表达式结果接收输入值. 可以使用动态或静态高速缓存. 可以使用静态高速缓存. 高速缓存包括映射中用到的所有查找列(即,包括在查找条件中的查找源列,以及作为输出端口链接至其它转换的查找源列). 高速缓存包括查找条件中的所有查找/输出端口和查找/返回端口. 可以从相同的行返回多列,或插入到动态查找…
转换类型:被动.已连接/未连接 在映射中使用查找转换以从平面文件或关系表.视图或同义词查找数据.您可以从 PowerCenter Client 和 PowerCenter Server 均连接至的任何平面文件或关系数据库中导入查找定义.您可以在一个映射中使用多个查找转换. PowerCenter 基于转换中的查找端口来查询查找源.它基于查找条件将查找转换端口值与查找源列值相比较.将查找结果传递至其它转换和目标. 您可以使用查找转换执行多项任务,包括: 获取相关值.例如,源包括员工标识,但您需要在…
在 Mapping Designer 中选择"转换-创建".选择聚合转换. 为聚合输入一个名称,并单击"创建".然后单击"完成". Designer 创建聚合转换. 将所需端口拖到聚合转换. Designer 将为您包括的每个端口创建输入/输出端口. 双击转换标题栏,以打开"编辑转换"对话框. 选择"端口"选项卡. 单击您希望聚合在创建组时所使用的每列的分组依据选项. 可以选择输入默认值来替换空组. 如果您…
可以使用排序输入选项改善聚合转换性能.使用排序输入时,PowerCenter 会假定所有数据已按组排序.PowerCenter 读取某组的行时,它将执行聚合计算.需要时,它会将组信息存储在存储器中.要使用排序输入选项,您必须将已排序数据传递至聚合转换.配置具有多个分区的会话时,您可以通过已排序端口增进性能. 不使用排序输入时,PowerCenter 会执行其读取的聚合计算.但是,由于未排序数据,PowerCenter 将为每组存储数据直到它读取整个源,从而确保所有聚合计算准确. 例如,聚合转换具…
聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口.您可以选择多个分组依据端口,为每个组的唯一组合创建新组.PowerCenter 随后将为每个组执行已定义的聚合. 对值分组后,PowerCenter 会为每个组生成一行.如果不对值分组,PowerCenter 则会为所有输入行返回一行.PowerCenter 通常将每个组的最后一行(或接收的最后行…