Transformação do Agregador na Informatica com Exemplo

O que é transformação de agregador?

A transformação do 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 do Agregador.

As operações agregadas são executadas em um grupo de linhas, portanto, é necessário um espaço reservado temporário para armazenar todos esses registros e realizar os cálculos.

Transformação do Agregador na Informatica

Para isso, é utilizada a memória cache do agregador. Esta é uma memória principal temporária alocada para a transformação do agregador para realizar tais operações.

Neste exemplo, calcularemos a soma dos salários do departamento. Para isso, necessitamos de uma nova coluna para armazenar esta soma. Então, antes de mais nada, prepararemos uma nova coluna.

Passo 1) Crie uma nova tabela de destino do banco de dados, por exemplo, digamos “sum_sal_deptwise”, usando o script abaixo. Você verá que a nova tabela de destino do banco de dados é criada em Target pasta na próxima etapa.

Baixe o arquivo Create_table_sal_deptwise.txt acima

Passo 2) Crie 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

  1. Importe a tabela de destino “sum_sal_deptwise” no mapeamento.
  2. Importe a tabela de origem “emp”.

Transformação do Agregador na Informatica

Passo 3) No mapeamento,

  1. De Qualificador de origem, exclua as colunas empno, ename, job, mgr, Hiredate & comm deixando apenas as colunas deptno e sal.
  2. 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.

Transformação do Agregador na Informatica

Passo 4) Arraste e solte colunas SAL e DEPTNO do qualificador de origem (SQ_EMP) para a transformação do agregador

Transformação do Agregador na Informatica

Passo 5) Double clique na transformação do agregador para abrir suas propriedades e, em seguida,

  1. Adicione uma nova porta na transformação
  2. Renomeie o nome da porta para SUM_SAL
  3. Altere o tipo de dados desta nova porta para double
  4. Torne esta porta uma porta de saída marcando a caixa de seleção da porta de saída.
  5. Clique na opção de expressão

Transformação do Agregador na Informatica

Passo 6) Na janela de expressão

  1. Adicione expressão-soma(SAL), você deve escrever esta expressão.
  2. Selecione o botão Ok, isso trará de volta a janela de edição de transformação.

Transformação do Agregador na Informatica

Passo 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 (ao selecionar group by em relação ao deptno, estamos instruindo a Informatica a agrupar os salários por deptno)

Transformação do Agregador na Informatica

Passo 8) Vincule as colunas deptno e sum_sal da transformação do agregador à tabela de destino

Transformação do Agregador na Informatica

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. Desta forma, podemos usar a transformação do agregador para calcular os resultados agregados.