Informatica 常用组件Aggregator之一 聚合表达式
转换类型:已连接、主动
聚合转换允许您执行聚合计算,比如平均值和总和。聚合转换与表达式转换不同,您可以使用聚合转换对多组执行计算。而表达式转换只允许您逐行地执行计算。
使用转换语言来创建聚合转换时,您可以使用条件子句过滤行,这比 SQL 语言更为灵活。
PowerCenter 执行其读取的聚合计算并存储聚合高速缓存中必需的数据组和行数据。
创建包含聚合转换的会话后,您可启用会话选项和增量聚合。当 PowerCenter Server 执行增量聚合时,它会通过映射传递新的源数据并使用历史高速缓存数据以增量执行新的计算。
设计器只允许聚合表达式出现在聚合转换中。聚合表达式可以包括条件子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如:
MAX( COUNT( ITEM ))
聚合表达式的结果因转换中使用的分组依据端口而异。例如,当 PowerCenter 计算以下不带已定义分组依据端口的聚合表达式时,它将会查找已售出项目的总量:
SUM( QUANTITY )
但是,如果您使用同一表达式并按 ITEM 端口分组,PowerCenter 将按项目返回已售出项目的总量。
您可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。
聚合函数
可以使用聚合转换中的以下聚合函数。也可以将一个聚合函数嵌入另一个聚合函数。
- AVG
- COUNT
- FIRST
- LAST
- MAX
- MEDIAN
- MIN
- PERCENTILE
- STDDEV
- SUM
- VARIANCE
当您使用这些函数中的任意一个时,必须要在聚合转换的表达式中使用。
嵌套聚合函数
可以在聚合转换的不同输出端口中纳入多个单级别或多个嵌套函数。但是,您不能在聚合转换中同时纳入单级别和嵌套函数。因此,如果聚合转换在任意输出端口中包含单级别函数,您将无法在此转换的其它任意端口使用嵌套函数。当您在同一聚合转换中包含单级别和嵌套函数时,设计器将标记映射或映射组件为无效。如果您需要创建单级别函数和嵌套函数,请分别建立聚合转换。
条件子句
可以在聚合表达式中使用条件子句以减少在聚合中使用的行数。条件子句可以是任意求值为 TRUE 或 FALSE 的子句。
例如,可以使用以下表达式计算超过其季度限额的员工的总佣金:
SUM( COMMISSION, COMMISSION > QUOTA )
非聚合函数
可以在聚合表达式中使用非聚合函数。
以下表达式返回每个项目的最高已售出项目数(按项目分组)。如果未售出项目,表达式返回 0。
IIF( MAX( QUANTITY ) > 0, MAX( QUANTITY ), 0))
聚合函数中的空值
配置 PowerCenter 时,您可以选择希望 PowerCenter 处理聚合函数中空值的方式。您可以选择在聚合函数中将空值视为 NULL 或零。默认情况下,PowerCenter Server 在聚合函数中将空值视为 NULL
Informatica 常用组件Aggregator之一 聚合表达式的更多相关文章
- Informatica 常用组件Aggregator之四 创建聚合转换
在 Mapping Designer 中选择"转换-创建".选择聚合转换. 为聚合输入一个名称,并单击"创建".然后单击"完成". Desi ...
- Informatica 常用组件Aggregator之三 使用排序输入
可以使用排序输入选项改善聚合转换性能.使用排序输入时,PowerCenter 会假定所有数据已按组排序.PowerCenter 读取某组的行时,它将执行聚合计算.需要时,它会将组信息存储在存储器中.要 ...
- Informatica 常用组件Aggregator之二 分组依据端口
聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口 ...
- Informatica 常用组件Lookup之九 配置未连接的查找转换
在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将 ...
- Informatica 常用组件Expression之一 概述
转换类型:被动.已连接 可以在写入目标前,使用表达式转换计算单行中的值.例如,您可能需要调整员工薪酬.连接姓名或将字符串转换为数字.您可以使用表达式转换执行任意非聚合计算.在将结果输出 ...
- Informatica 常用组件Source Qualifier之一 概述
转换类型:主动.已连接 1 Source Qualifier 概述 当你添加关系表或平面文件源定义至映射时,需要将它连接至 Source Qualifier 组件.Source Qualifier ...
- Informatica 常用组件Lookup之十 创建查找转换
在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定&q ...
- Informatica 常用组件Lookup之四 查找组件
在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源 您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任 ...
- Informatica 常用组件Lookup之二 已连接和未连接的查找
可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...
随机推荐
- Hibernate or JPA Annotation中BLOB、CLOB注解写法
BLOB和CLOB都是大字段类型,BLOB是按二进制字节码来存储的,而CLOB是可以直接存储字符串的. 在hibernate or JPA Annotation中,实体BLOB.CLOB类型的注解与普 ...
- 20169211《Linux内核原理与分析》课程总结
第一周作业:linux入门学习:熟悉操作linux的基础命令 第二周作业:实验反汇编一个简答的C程序,学习汇编代码的工作过程 第三周作业:学习linux内核的启动过程 第四周作业:学习linux内核进 ...
- python爬虫+词云图,爬取网易云音乐评论
又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...
- Python面向对象中super用法与MRO机制
1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...
- poj-2528线段树练习
title: poj-2528线段树练习 date: 2018-10-13 13:45:09 tags: acm 刷题 categories: ACM-线段树 概述 这道题坑了我好久啊啊啊啊,,,, ...
- 算法转AI平台工程师记录-0
--- vim源码安装: 1. git clone https://github.com/vim/vim.git 2. cd vim && ./configure --prefix=x ...
- centos7安装kafka_2.11-1.0.0 新手入门
系统环境 1.操作系统:64位CentOS Linux release 7.2.1511 (Core) 2.jdk版本:1.8.0_121 3.zookeeper版本:zookeeper-3.4.9. ...
- Swift3.0字符串相关操作
以下有关字符串的常用操作都可直接复制到Xcode中进行验证,如发现错误,请在评论区留言指正! 1.字符串的定义 var str1="hello, swift." //字符串变量 相 ...
- windows控制台程序——关于UNICODE字符的总结(转)
前言:从Windows NT/2000开如,Windows系统已经是一个标准的UNICODE系统,系统内部所有字符串存储及操作均使用UNICODE编码.因此Win32 API都是UNICODE版本的, ...
- Maven最佳实践 划分模块 配置多模块项目 pom modules
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...