Comparar duas tabelas é uma necessidade frequente: exportação de ontem contra a de hoje, inventário antes e depois, listas de clientes provenientes de dois sistemas ou controlo de uma migração.
A principal dificuldade não é mostrar dois ficheiros lado a lado. É necessário saber qual linha do ficheiro A corresponde a qual linha do ficheiro B.
Escolher uma chave de comparação
Uma chave é uma coluna cujo valor permite identificar um registo: identificador de cliente, SKU, número de processo ou referência interna.
O comparador de Excel e CSV utiliza esta lógica para associar as linhas dos dois ficheiros.
Se trabalhar exclusivamente com CSV, um comparador dedicado pode aplicar o mesmo princípio diretamente a esse formato.
Porque o número da linha raramente é uma boa chave
Se uma nova linha for inserida no início do ficheiro B, todas as posições seguintes ficam deslocadas. Uma comparação pelo número da linha indicaria centenas de diferenças quando os dados apenas mudaram de ordem.
Uma chave de negócio estável permite comparar os registos independentemente da posição.
Adicionado, eliminado ou alterado
Uma comparação útil distingue normalmente três situações:
- uma chave existe apenas no novo ficheiro: registo adicionado;
- existe apenas no ficheiro antigo: registo eliminado;
- existe nos dois, mas outras colunas são diferentes: registo alterado.
Esta distinção é muito mais informativa do que um simples resultado «ficheiros diferentes».
Normalizar antes de comparar
Espaços desnecessários, diferenças de maiúsculas e minúsculas ou nomes de colunas distintos podem criar falsos desvios. Quando as duas fontes deveriam seguir as mesmas convenções, limpe-as primeiro.
A preparação pode incluir a normalização dos cabeçalhos, remoção de espaços supérfluos e verificação dos formatos das colunas.
Duplicados na chave
Se uma chave que deveria ser única aparecer várias vezes, a comparação torna-se ambígua. Deve comparar a primeira linha, a última ou todas as combinações?
Antes de uma comparação importante, verifique a unicidade da chave e trate os duplicados de acordo com as regras dos seus dados.