Informatica 中的聚合器转换与示例

什么是聚合器转换?

聚合器转换是一种主动转换,用于执行总和、平均值等聚合计算。

例如,如果您想计算各部门所有员工的工资总和,我们可以使用聚合器转换。

聚合操作是在一组行上执行的,因此需要一个临时占位符来存储所有这些记录并执行计算。

Informatica 中的聚合器转换

为此,需要使用聚合器缓存。这是一个临时主内存,分配给聚合器转换以执行此类操作。

在此示例中,我们将按部门计算工资总额。为此,我们需要一个新列来存储此总额。因此,首先,我们将准备一个新列。

步骤1) 使用以下脚本创建一个新的数据库目标表,例如“sum_sal_deptwise”。您将看到新的数据库目标表创建在 Target 文件夹。

下载上述 Create_table_sal_deptwise.txt 文件

步骤2) 创建一个新的映射“m_ sum_sal_deptwise”。

为了创建新的映射,我们需要在映射设计器中同时使用源表 (EMP) 和目标表 (sum_sal_deptwise)

  1. 在映射中导入目标表“sum_sal_deptwise”。
  2. 导入源表“emp”。

Informatica 中的聚合器转换

步骤3) 在映射中,

  1. 来自 源限定符,删除列 empno、ename、job、mgr、hiredate 和 comm,只留下列 deptno 和 sal。
  2. 使用工具箱菜单创建一个新的聚合器转换,如屏幕截图所示。单击聚合器图标时,将创建一个新的聚合器转换。

Informatica 中的聚合器转换

步骤4) 将 SAL 和 DEPTNO 列从源限定符 (SQ_EMP) 拖放到聚合器转换中

Informatica 中的聚合器转换

步骤5) Double 单击聚合器转换以打开其属性,然后

  1. 在转换中添加新端口
  2. 将端口名称重命名为 SUM_SAL
  3. 将此新端口的数据类型更改为双精度
  4. 通过选中输出端口的复选框将该端口设为输出端口。
  5. 点击表情选项

Informatica 中的聚合器转换

步骤6) 在表达式窗口中

  1. 添加表达式- sum(SAL),你必须写出这个表达式。
  2. 选择确定按钮,这将返回编辑转换窗口。

Informatica 中的聚合器转换

步骤7) 在编辑转换窗口中,通过选中 deptno 列对应的复选框来选择选项“GroupBy”,然后单击“确定”(通过选择 deptno 对应的分组,我们指示 Informatica 按 deptno 对工资进行分组)

Informatica 中的聚合器转换

步骤8) 将聚合器转换中的 deptno 和 sum_sal 列链接到目标表

Informatica 中的聚合器转换

现在保存 制图 并在为此映射创建新会话后执行它。目标表将包含各部门的工资总和。这样,我们可以使用聚合器转换来计算聚合结果。