第二节 常用组件 之 Aggregator 聚合表达式

        设计器只允许聚合表达式出现在聚合转换中。聚合表达式可以包括条件子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如:  

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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值