Eae pessoal, de boas?!

No post de hoje gostaria de compartilhar com vocês uma função bem interessante que remove duplicidade de linhas nas tabelas chamada Unique Rows.

Este post será bem breve pois é bem simples entender a lógica de uso da transformação!

Sem mais delongas, vamos ao conteúdo!!

UNIQUE ROWS

Antes de começar, é preciso entender que a utilização do unique rows, independente do tipo (são dois), só pode ocorrer com o uso da sort. Se não houver ordenamento das linhas, não removerá duplicidade.

Para  fonte do meu table input, fiz uma consulta que utilizei para extrair a minha tabela dimensão loja (no link há o arquivo para download).

No step select values trouxe duas colunas apenas para facilitar a visualização do resultado. Abaixo, os campos selecionados.

Como dito, para remover duplicatas, teremos de adicionar o step de sort que irá ordenar as linhas que saíram do step anterior.

Eu não fiz grandes alterações na configuração padrão, adicionei apenas a coluna ao qual quero que ele ordene.

Escolhendo por qual coluna ordenar, basta adicionar o step unique rows e configurar a coluna que será comparada no processo. Veja:

Atenção para não esquecer de escolher uma coluna para comparação!

Abaixo, temos o resultado gerado ao final da execução do unique rows. Veja que na tabela count, temos o número de valores duplicados que vieram do table input.

Já conhecendo o processo de remoção de duplicidade, vamos avaliar como o outro processo funciona, utilizando algoritmo de Hash.

UNIQUE ROWS (HASH)

O unique rows (hashset) faz uma comparação completa da linha de uma determinada coluna, podendo ser texto ou numérico.

Como é um processo de comparação mais intenso, tende a consumir maior memória e se quiser um valor extremamente preciso, irá consumir ainda mais. Cuidado.

Aqui funciona da mesma forma que no unique rows, se não informar nenhuma coluna, ele assume que a comparação é linha por linha, incluindo todas as colunas na comparação.

Sublinhado em vermelho está a opção que aumenta a precisão entre as comparações, se marcar essa opção, o consumo de memória é maior. Avalie seu ambiente antes de utilizar este recurso!

Veja que o resultado foi igual ao obtido na demonstração anterior, eliminando os valores duplicados!

Este foi um step bem simples de se utilizar mas que exige um pouco de atenção para não congestionar o ambiente com pressão de memória.

É um step que tem muita serventia e que pode ser utilizado a qualquer momento, mas que deve ser avaliado, pois em alguns casos, valores duplicados não são erro da fonte, e sim, alguma espécie de controle. Avalie!

Link para baixar a transformação, aqui!

Espero que tenham gostado, saúde!