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 ...
随机推荐
- OpenGL笔记<第一章> 构建 GLSL class
恭喜,我们终于很扎实地完成了第一章——glsl 入门 不幸的是,it's not the basic of GLSL shader ,我们下一节开篇,basic of GLSL shader 在下一章 ...
- android 定时, 延时 任务
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 倒计时类 用 倒计时定时器CountDownTimer 延迟类 CountDownT ...
- Spring的模块组成
Spring的模块组成 1.核心容器:核心容器提供 Spring 框架的基本功能(Spring Core).核心容器的主要组件是 BeanFactory,它是工厂模式的实现. BeanFactory ...
- bzoj 5210(树链刨分下做个dp)
5210: 最大连通子块和 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 211 Solved: 65[Submit][Status][Discus ...
- AFNetworking源码品读
AFNetworking源码品读 AFNetworking这个库几乎是所有苹果开发人员在使用HTTP协议的第一选择,为什么这个库会有这么大的吸引力呢?其实答案就需要问问自己,为什么会用它,而不是别的库 ...
- C# 微信小程序获取openid sessionkey
项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...
- 【洛谷】4180:【模板】严格次小生成树[BJWC2010]【链剖】【线段树维护最大、严格次大值】
P4180 [模板]严格次小生成树[BJWC2010] 题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说, ...
- RTSP交互过程
步骤一: 发送:OPTIONS rtsp://127.0.0.1/172.30.31.225:8000:HIK-DS8000HC:0:1:admin:hs123456:av_stream RTSP/1 ...
- Linux rescue
适用场景: 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统启动时读取磁盘或初始化环境失败,导致linux无法正常启动,此时就可以借助Linux ...
- android点滴之ContentObserver的使用
一概念 ContentObserver用于观察(捕捉)特定Uri引起的数据的变化,继而做一些对应的处理,当ContentObserver所观察的Uri发生变化时,便会触发它. 从概念看ContentO ...