Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Blog

Insights e ideias das mentes mais brilhantes em análise de dados.

INTRODUÇÃO

Antes de mais nada, é importante deixar claro uma coisa: não existe o jeito certo de se implementar uma transformação. Se funciona, está certo. O que existe, entretanto, são maneiras mais adequadas, eficientes e que tornam a manutenção mais fácil. Em outras palavras, existem as melhores práticas.

 

Dito isto, vamos apresentar as duas ferramentas e exemplificar seu uso utilizando duas bases de dados: Estados e Regiões, como mostrado na figura abaixo:

 

TIP_35_STEP_00.jpeg

 

 

O que as ferramentas fazem ?

 

A ferramenta Find Replace (Encontrar e Substituir) tem como objetivo localizar informações em uma outra fonte de dados e enriquecer a saída com campos desta fonte, seja substituindo o valor original ou acrescentando novas informações. Para isso ela usa um campo em comum presente nas duas entradas.


A ferramenta Join (Junção) relaciona as informações de duas entradas a partir de campos em comum entre elas e gera uma saída que pode ter dados de ambas as origens.

 

Pelas descrições apresentadas, percebe-se que recuperar uma descrição a partir de um campo chave é uma tarefa que pode ser realizada por ambas as ferramentas.

 

Agora, vamos listar as principais diferenças entre elas:

 

Diferença 1: Chave de Relacionamento

 

A ferramenta Find Replace está restrita ao uso de campos alfanuméricos. Caso o seu código seja um inteiro, por exemplo, o uso deste não estará disponível.

 

TIP_35_STEP_01.jpeg

 

Note que o campo CodRegião, chave entre as duas tabelas, não aparece na lista de campos possíveis, pois não é do tipo String. Para usar a ferramenta é necessário alterar o campo nas duas entradas para este formato.

 

Já a ferramenta Join permite a operação, desde que ambos os campos possuam o mesmo formato.

 

TIP_35_STEP_02.jpeg

 

Diferença 2: Quando não encontra o registro procurado

 

A ferramenta Find Replace, quando não encontra um registro correspondente na pesquisa, mantém o registro e deixa os campos com nulo.

 

TIP_35_STEP_03.jpeg

 

A ferramenta Join, ao não encontrar o registro correspondente, descarta o mesmo em sua saída principal, Join (J). O registro descartado ainda poderá ser encontrado nas saídas Left (L) e Right (R). Caso você não queira perder esta informação, será necessário utilizar a ferramenta Union para retornar com a linha excluída.

 

TIP_35_STEP_04.jpeg

 

Diferença 3: Quando a pesquisa retorna mais de um registro

 

De forma análoga à diferença anterior, a ferramenta Find Replace, quando encontra mais de uma ocorrência para a chave, retorna o último registro localizado.

 

TIP_35_STEP_05.jpeg

 

Embora num primeiro momento isso possa parecer estranho, podemos usar este comportamento a nosso favor. Exemplo: Se você estiver lendo uma tabela de histórico de pedidos, o registro retornado será sempre o do status mais recente, e você pode aproveitar para recuperar a data deste status.

 

Já com o Join, a ferramenta aumentará a quantidade de linhas na mesma proporção da quantidade de registros encontrados. No nosso exemplo, como existem 3 ocorrências para o código 4, a saída do Join vai gerar 3 linhas para cada registro da região na entrada.

 

TIP_35_STEP_06.jpeg

 

 

Outros detalhes que fazem diferença

 

Por último, alguns detalhes que podem pesar na escolha da ferramenta mais adequada. Vamos listar alguns na tabela abaixo.

Característica

Find Replace

Join

Número de chaves

Apenas 1

1 ou mais

Substituição de valor procurado

Nativo

Possível

Ignorar maiúsculo/minúsculo

SIM

NÃO

Busca por parte do campo

SIM

NÃO



Pronto, agora você já sabe as principais diferenças entre as ferramentas Find Replace e Join, e pode escolher a mais adequada às suas necessidades.

Comentários
Rótulos