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
As chaves repetidas não substituem linhas: ambos os comparadores associam primeiro as linhas idênticas de cada grupo. Depois associam as ocorrências restantes pela ordem original como alterações; as que não têm correspondência contam como adicionadas ou eliminadas. Esta associação determinística não prova que duas ocorrências representem a mesma entidade.
Se a chave deveria ser única, examine as repetições antes de as eliminar. A deduplicação deve seguir uma regra explícita e não é um requisito da comparação.
Comparar a estrutura antes do conteúdo
Antes de procurar linhas alteradas, confirme que os dois ficheiros continuam a descrever a mesma estrutura. Uma coluna adicionada, eliminada ou renomeada pode representar por si só uma alteração importante.
Uma comparação robusta pode seguir dois níveis:
- comparar os cabeçalhos e a estrutura;
- comparar depois os registos através de uma chave.
Assim evita interpretar uma evolução do esquema como uma simples série de diferenças de valores.
Valores alterados: comparar coluna a coluna
Quando uma chave identifica a mesma linha nos dois ficheiros, a comparação pode analisar cada coluna: endereço alterado, estado atualizado, montante diferente, entre outros.
Nos números, tenha atenção às representações (10, 10.0, 10,00). No texto, espaços e diferenças de capitalização podem gerar desvios que nem sempre são relevantes. Uma normalização ligeira antes da comparação melhora frequentemente o resultado.
Caso de utilização: controlar uma exportação regular
Comparar duas exportações sucessivas ajuda a identificar rapidamente novos registos, linhas desaparecidas, valores alterados e mudanças de estrutura.
É especialmente útil antes de substituir uma versão de referência ou enviar um ficheiro para outro sistema.
Comparar antes de substituir
Numa importação ou sincronização manual, comparar a versão antiga com a nova permite avaliar a dimensão das alterações antes de substituir os dados.
É uma boa prática simples: observar as diferenças antes de aplicar a nova versão.
No comparador de folhas de cálculo, coloque a versão anterior em «Versão anterior» e a nova em «Versão nova». Trocar as fontes também inverte o significado das adições e eliminações.