Olá pessoal, como estão nos estudos?!?

Voltando com posts um pouco mais técnicos mostrando sobre as tarefas que podemos utilizar no processo de ETL, quero mostrar pra vocês como agregar valores utilizando as task de Aggregation!!

Sem mais delongas, vamos a prática!

Criei a conexão(aqui e aqui) OLE DB com o banco na tabela SalesOrderHeader selecionando as colunas acima!

Após, adicione a Aggregation Task no seu data flow

Estas são as funções de agregação que temos, reparem que é exatamente igual ao que utilizamos no SQL!

Aqui, as colunas que selecionei para agregação.

Crie uma tarefa com uma conexão Excel e habilite o data view. Vale salientar que as colunas que você selecionar para agregação, são as que irão para próxima etapa.

Tabelas criadas no Excel.

Analisando o data viewer temos o total de vendas de cada vendedor por território!

E se abrirem no Excel, verão que fica devidamente formatado.

Como perceberam o próprio SSIS entende o data type e habilita qual tipo de agregação ele pode executar de acordo com aquela coluna.

Se por um acaso acontecer de receber dados de uma fonte onde as letras  possuem problemas com case sensitive ou caracteres diferentes, basta habilitar alguma destas opções na opção de Comparison Flag

  • Ignore Case – deixa de diferenciar maiúscula de minúscula
  • Ignore Kana Type – trabalha com as diferenças do alfabeto japonês
  • Ignore Non Spacing Characters –  não faz diferença entre ‘ É’ e ‘ E’.
  • Ignore Character Width – se um valor possui tamanho físico diferente o SSIS não fará distinção.

Como essa task é onerosa e consome bastante memória, existe um mecanismo que ajuda a controlar o fluxo de linhas que ela irá trabalhar durante a transformação.

Basta configurar o Key Scale:

Por padrão o key scale vem ‘unspecified’ e cada uma das configurações abaixo, limita o número de linhas

  • Low – pode escrever até 500.000 linhas.
  • Medium – passa a trabalhar com até 5.000.000 de linhas
  • High – Até o máximo de 25.000.000 de linhas.

E se souber exatamente a quantidade de linhas que será agregada pela tarefa, basta configurar este número na opção “Keys”.

Ainda em advanced, se quiser determinar a quantidade de memória que esta tarefa pode utilizar, basta configurar o valor em Auto Extended

O interessante desta tarefa é a possibilidade de criar vários tipos de agregação para diferentes transformações. Para isto basta clicar em Advanced e criar um novo Output.

Aqui eu criei duas configurações, uma com vendedor e território e a outra apenas por data.

Final do ETL com o fluxo estruturado

Após a configuração, basta executar seu pacote e verificar o arquivo de Excel com os números agregados!

Espero que tenham gostado, sáude!