La transformación de agregador es una transformación activa que se utiliza para realizar cálculos agregados como suma, promedio, etc.
Por ejemplo, si desea calcular la suma de los salarios de todos los empleados por departamento, podemos usar la Transformación de agregador.
Las operaciones agregadas se realizan en un grupo de filas, por lo que se requiere un marcador de posición temporal para almacenar todos estos registros y realizar los cálculos.
Para ello, se utiliza la memoria caché del agregador. Esta es una memoria principal temporal que se asigna a la transformación del agregador para realizar dichas operaciones.
En este ejemplo, calcularemos la suma de los salarios por departamento. Para ello, necesitamos una nueva columna para almacenar esta suma. Entonces, en primer lugar, prepararemos una nueva columna.
Paso 1 : cree una nueva tabla de destino de la base de datos, por ejemplo, diga "sum_sal_deptwise", utilizando el siguiente script. Verá que la nueva tabla de destino de la base de datos se crea en la carpeta Destino en el siguiente paso.
Descargue el archivo Create_table_sal_deptwise.txt anterior
Paso 2: cree un nuevo mapeo "m_ sum_sal_deptwise".
Para crear un nuevo mapeo, necesitamos la tabla de origen (EMP) y la tabla de destino (sum_sal_deptwise) ambas en el diseñador de mapeo para eso necesitamos
- Importe la tabla de destino "sum_sal_deptwise" en el mapeo.
- Importe la tabla de origen "emp".
Paso 3 : en el mapeo,
- Desde Source Qualifier, elimine las columnas empno, ename, job, mgr, Hiredate & comm, dejando solo las columnas deptno y sal.
- Cree una nueva transformación de agregador usando el menú de la caja de herramientas como se muestra en la captura de pantalla. Al hacer clic en el icono del agregador, se creará una nueva transformación de agregador.
Paso 4 : arrastre y suelte las columnas SAL y DEPTNO desde el calificador de origen (SQ_EMP) a la transformación del agregador
Paso 5 : haga doble clic en la transformación del agregador para abrir sus propiedades, y luego
- Agregar un nuevo puerto en la transformación
- Cambie el nombre del puerto a SUM_SAL
- Cambie el tipo de datos de este nuevo puerto a doble
- Convierta este puerto como puerto de salida seleccionando la casilla de verificación del puerto de salida.
- Haga clic en la opción de expresión
Paso 6 : en la ventana de expresión
- Agregue expresión-suma (SAL), debe escribir esta expresión.
- Seleccione el botón Aceptar, esto traerá de vuelta la ventana de edición de transformación.
Paso 7 : en la ventana de edición de transformación, seleccione la opción "GroupBy" marcando la casilla de verificación junto a la columna deptno y haga clic en Aceptar (al seleccionar group by contra el deptno, le indicamos a Informatica que agrupe los salarios por deptno)
Paso 8 : vincule las columnas deptno y sum_sal de la transformación del agregador a la tabla de destino
Ahora guarde el mapeo y ejecútelo después de crear una nueva sesión para este mapeo. La tabla de destino contendría la suma de los sueldos por departamento. De esta manera, podemos usar la transformación de agregador para calcular los resultados agregados.