A transformação de agregador é uma transformação ativa usada para realizar cálculos agregados como soma, média, etc.
Por exemplo, se você deseja calcular a soma dos salários de todos os funcionários do departamento, podemos usar a Transformação de Agregador.
As operações de agregação são realizadas em um grupo de linhas, portanto, um marcador temporário é necessário para armazenar todos esses registros e realizar os cálculos.
Para isso, é usada a memória cache do agregador. Esta é uma memória principal temporária que é alocada para a transformação do agregador para realizar tais operações.
Neste exemplo, calcularemos a soma dos salários departamentais. Para isso, exigimos uma nova coluna para armazenar essa soma. Portanto, em primeiro lugar, prepararemos uma nova coluna.
Etapa 1 - Crie uma nova tabela de destino do banco de dados, por exemplo, diga "sum_sal_deptwise", usando o script abaixo. Você verá que a nova tabela de destino do banco de dados é criada na pasta de destino na próxima etapa.
Baixe o arquivo Create_table_sal_deptwise.txt acima
Etapa 2 - Criar um novo mapeamento "m_ sum_sal_deptwise".
Para criar um novo mapeamento, precisamos da tabela de origem (EMP) e da tabela de destino (sum_sal_deptwise), ambas no designer de mapeamento para isso, precisamos
- Importe a tabela de destino "sum_sal_deptwise" no mapeamento.
- Importe a tabela de origem "emp".
Etapa 3 - no mapeamento,
- No Qualificador de origem, exclua as colunas empno, ename, job, mgr, hiredate & comm, deixando apenas as colunas deptno e sal.
- Crie uma nova transformação de agregador usando o menu da caixa de ferramentas, conforme mostrado na captura de tela. Ao clicar no ícone do agregador, uma nova transformação do agregador será criada.
Etapa 4 - Arraste e solte as colunas SAL e DEPTNO do qualificador de origem (SQ_EMP) para a transformação do agregador
Etapa 5 - Clique duas vezes na transformação do agregador para abrir suas propriedades e, em seguida,
- Adicione uma nova porta na transformação
- Renomeie o nome da porta para SUM_SAL
- Altere o tipo de dados desta nova porta para o dobro
- Faça esta porta como porta de saída marcando a caixa de seleção da porta de saída.
- Clique na opção de expressão
Passo 6 - Na janela de expressão
- Adicione expression- sum (SAL), você tem que escrever esta expressão.
- Selecione o botão Ok, isso trará de volta a janela de edição de transformação.
Etapa 7 - Na janela de edição de transformação, selecione a opção "GroupBy" marcando a caixa de seleção na coluna deptno e clique em Ok (selecionando agrupar por contra deptno, estamos instruindo a Informatica a agrupar salários por deptno)
Etapa 8 - Vincule as colunas deptno e sum_sal da transformação do agregador à tabela de destino
Agora salve o mapeamento e execute-o após criar uma nova sessão para este mapeamento. A tabela de destino conteria a soma dos salários do departamento. Dessa forma, podemos usar a transformação de agregador para calcular os resultados agregados.