聚合器转换

2024 年 8 月 29 日 | 阅读 3 分钟

聚合器转换是一个主动转换。它用于对数据执行计算,例如求和、平均值、计数等。

集成服务将数据组和行数据存储在聚合缓存中。与 SQL 相比,聚合器转换更有益。我们可以使用条件子句来过滤行。

聚合器转换的属性

以下是聚合器转换的一些特性,例如

  • 聚合表达式
  • 分组依据端口
  • 已排序的输入
  • 聚合缓存
  • 未排序的输入

聚合表达式

聚合函数用于驱动聚合表达式,该表达式只能在变量端口或输出端口中开发。

已排序的输入

分组依据端口使用已排序的转换进行排序,并接收已排序的数据作为输入,以提高数据聚合的性能。

它将排序转换放在聚合器转换之前,以便对“分组依据”端口执行排序。

聚合缓存

集成服务创建一个聚合缓存。

未排序的输入

聚合缓存包含分组依据端口、非分组依据输入端口和输出端口,这些端口提供聚合表达式。

聚合表达式

此转换提供了比 SQL 的分组依据语句更多的功能。因为可以在聚合器转换内将条件逻辑应用于组。许多不同的聚合函数可以用于转换内的各个输出端口。以下是这些聚合函数的列表,例如

  • AVG
  • COUNT
  • 第一个
  • 最后一个
  • MAX
  • 中位数
  • MIN
  • 百分位数
  • 标准差
  • SUM
  • 方差

创建聚合器转换

请按照以下步骤操作,例如

步骤 1:转到映射设计器,单击工具栏中的转换并创建。

步骤 2:选择聚合器转换,输入名称,然后单击“创建”。

步骤 3:然后单击 完成 按钮。

它将创建一个没有端口的聚合器转换。

要创建端口,我们可以将端口拖动到聚合器转换或在聚合器的“端口”选项卡中创建端口。

配置聚合器转换

我们可以在 Informatica 中配置聚合器转换中的以下组件。

  1. 聚合缓存:集成服务将组值存储在索引缓存中,并将行数据存储在数据缓存中。
  2. 聚合表达式:我们可以在输出端口或变量端口中输入表达式。
  3. 分组依据端口:此选项告诉集成服务如何创建组。我们可以为组配置输入、输出或变量端口。
  4. 已排序的输入:此选项用于提高会话性能。此选项仅在聚合器转换的输入已在分组依据端口上排序时才适用。

Informatica 嵌套聚合函数

我们可以在另一个聚合函数中嵌套一个聚合函数。我们可以在聚合转换中使用单层聚合函数或多个嵌套函数。

但我们不能在聚合器转换 Informatica 中同时使用单层聚合函数和嵌套聚合函数。如果聚合器转换包含单层聚合函数和嵌套聚合函数,则映射设计器将映射标记为无效。如果我们想创建单层聚合函数和嵌套聚合函数,请创建单独的聚合转换。

Informatica 中的增量聚合

在创建包含聚合器转换的会话后,我们可以启用会话选项和增量聚合。当集成服务执行增量聚合时,它会通过映射传递源数据,并使用历史缓存数据以增量方式执行聚合计算。


下一主题路由器转换