I dati provenienti da fonti diverse hanno spesso una struttura diversa e non possono quindi essere facilmente combinati:

  • Le intestazioni delle colonne possono variare. Ad esempio, in una tabella la colonna con il codice postale può essere denominata "CAP", mentre in un'altra può essere denominata "Codice postale". Questo aspetto può essere uniformato in modo relativamente semplice.
  • In caso di colonne mancanti o aggiuntive, la cosa diventa più complessa: in questo caso, in tutte le tabelle in cui mancano delle colonne, sarebbe necessario aggiungere delle colonne vuote con lo stesso nome.
  • Lo stesso vale se le colonne nelle singole tabelle sono in ordine diverso, ad esempio se le colonne "Nome" e "Cognome" sono invertite. In questo caso, l'ordine delle colonne in questione dovrebbe essere modificato prima della fusione.
  • Infine, potrebbe anche essere che in una delle tabelle da unire una determinata informazione sia stata inserita in un'unica colonna, mentre nell'altra tabella sia stata inserita in due colonne separate. Ad esempio, in una tabella il cognome potrebbe essere stato inserito separatamente dal nome, mentre nell'altra tabella potrebbe essere stato inserito in un unico campo dati. In questo caso, ci sono diversi modi per risolvere il problema: si potrebbero unire le due colonne separate in un'unica colonna in una delle tabelle, uniformando così i dati. Oppure si potrebbero provare a scomporre i dati della tabella con l'unica colonna per questa informazione nei loro componenti e salvarli in due colonne. Oppure, per semplicità, si potrebbe rinunciare a uniformare i dati a questo punto e accettare che nella tabella di destinazione nella colonna "Cognome" sia effettivamente riportato solo il cognome e il nome nella colonna "Nome", oppure che la colonna "Nome" sia vuota e che nella colonna “Cognome” sia riportato il nome completo.

Tuttavia, è possibile che non tutti i record debbano essere trasferiti, poiché vi sono sovrapposizioni tra le tabelle da unire:

  • Prima di unire le tabelle, è necessario assicurarsi che non vi siano sovrapposizioni oppure, dopo l'unione, è necessario eliminare i duplicati. Per sapere come eliminare i duplicati da una tabella, consultare l'articolo "Ricerca intelligente di duplicati e indirizzi duplicati con DataQualityTools".
  • È anche possibile che, dopo l'unione, non si esegua semplicemente un'ulteriore pulizia dei duplicati, ma che la pulizia dei duplicati venga utilizzata per completare i record rimanenti con informazioni provenienti dai record cancellati, ad esempio l'indirizzo e-mail. Per ulteriori informazioni sull'arricchimento dei dati, consultare l'articolo "Arricchimento dei dati: integrazione di informazioni da una seconda tabella".

Ciò comporta in ogni caso un notevole lavoro preparatorio prima di poter unire le tabelle da consolidare.

Infine, c'è anche il problema che i dati da unire in una tabella potrebbero essere disponibili in formati diversi. Una delle tabelle da unire potrebbe essere, ad esempio, un elenco di indirizzi salvato in un file Excel. Un'altra tabella da unire potrebbe essere un file di testo. E un'altra tabella ancora potrebbe contenere dati provenienti da un database gestito da un server di database come MySQL o SQL Server. Naturalmente, prima di procedere all'effettiva unione delle tabelle, in una prima fase di lavoro si potrebbe provvedere a garantire che tutte le tabelle di partenza siano nello stesso formato, esportandole e/o convertendole in modo appropriato. È però molto più semplice rinunciare a questo passaggio e poter elaborare i dati direttamente nel formato in cui sono disponibili.

Tutto questo e molto altro ancora è possibile con DataQualityTools. Per unire due o più tabelle, procedere come segue:

  1. Se non si è già provveduto, da qui è possibile scaricare il DataQualityTools gratuitamente. Installare il programma e richiedere un'attivazione test. In questo modo può lavorare con il programma per una settimana senza alcuna limitazione.
  2. La funzione che ci serve si trova nel menu nel blocco "Combinazione / divisione tabelle". Selezioniamo la funzione "Riepilogare tabelle" per unire le tabelle:

    Riepilogare tabelle

  3. Dopo aver chiamato questa funzione, viene innanzitutto visualizzata la gestione progetti. Inserire qui un nuovo progetto con un nome di progetto a piacere e quindi fare clic sul pulsante di comando 'Avanti'.
  4. Il passo successivo consiste nell'aggiungere al progetto le tabelle da unire. A tal fine esistono diverse possibilità. Per i file Excel con un solo foglio di lavoro, per i file dBase, CSV e di testo è possibile utilizzare il pulsante "Aggiungi più file":

    Aggiungi più file

    Selezionare uno o più file nella finestra di dialogo corrispondente. Dopo aver cliccato sul pulsante "Apri", il programma aggiunge tutte le tabelle selezionate al progetto.

    Se il file Excel contiene più fogli di lavoro o se si desidera utilizzare una fonte di dati diversa da Excel, dBase o file di testo, utilizzare il pulsante "Aggiungi tabella":

    Aggiungi tabella

    Aggiungiamo un file Excel. A tal fine, fare clic sul pulsante "Apri file" e selezionare il file Excel:

    Aggiungi tabella, Excel'

    In "Nome database" compare quindi il nome del file Excel selezionato. E in "Foglio di lavoro" si trova l'elenco delle tabelle contenute in questo file. Se la fonte dati contiene più di una tabella, ad esempio un file Excel con più fogli di lavoro, è possibile aggiungere al progetto più tabelle/fogli di lavoro contemporaneamente, se lo si desidera anche tutti:

    Aggiungi tutte le tabelle

    Per aggiungere una seconda tabella, clicchiamo nuovamente sul pulsante "Aggiungi tabella". Apparirà la stessa finestra di dialogo di prima:

    Aggiungi tabella, MySQL

    Con il pulsante "Apri file", che abbiamo appena utilizzato, è possibile aggiungere file Excel, Access, dBase, CSV e di testo. Come seconda tabella riassuntiva, però, vogliamo selezionare una tabella da un database gestito da un server di database MySQL. A tal fine, selezionare innanzitutto la voce "Server database MySQL / MariaDB" dall'elenco di selezione in "Formato / Accesso a". Quindi inserire il nome del server database. Dopo aver cliccato sul pulsante "Connetti al server", inserire i dati di accesso. Infine, selezionare il database desiderato e la tabella corrispondente dagli elenchi di selezione. Procedere in modo analogo se i dati sono gestiti da un altro server di database come MS SQL Server, MySQL, MariaDB, Oracle, Azure SQL o PostgreSQL.
  5. Ora abbiamo due tabelle con un totale di 2779 record da unire:

    Riepilogare tabelle

    Tuttavia, questa funzione non consente di unire solo due tabelle. A questo punto è possibile specificare (quasi) un numero illimitato di tabelle.
  6. Cliccando sul pulsante "Avanti" si accede alla finestra di dialogo in cui è possibile specificare l'aspetto della tabella risultante dall'unione e dove devono essere assegnati i contenuti delle colonne delle tabelle da unire:

    Unire tabelle

    Questa tabella contiene le seguenti informazioni:
    - Con il pulsante con la croce rossa è possibile cancellare la riga corrispondente.
    - Con i due pulsanti con le frecce verdi è possibile spostare la riga in questione verso l'alto o verso il basso.
    - "Nome campo tabella di destinazione": in questa colonna si trovano le denominazioni delle colonne per la tabella da creare. Queste possono essere modificate.
    - "Nome campo tabella 1": in questa colonna sono riportati gli elenchi di selezione con i nomi delle colonne della prima delle due tabelle da unire.
    - "Nome campo tabella 2": in questa colonna sono riportati gli elenchi di selezione con i nomi delle colonne della seconda delle due tabelle da unire.

    In tutti i punti in cui nelle due tabelle sono presenti colonne con lo stesso nome, il programma le ha già assegnate alla stessa colonna nella tabella di destinazione. In tutti gli altri punti, non è stato (ancora) selezionato alcun campo dati dall'elenco di selezione né per la tabella 1 né per la tabella 2. Tuttavia, è possibile modificare questa impostazione. Se, ad esempio, la colonna "Result_BA" della tabella 2 deve essere assegnata alla stessa colonna della colonna "Result_A" della tabella 1, è sufficiente effettuare questa assegnazione manualmente:

    Unire tabelle, assegnare colonne

    La colonna "Result_BA" nella tabella di destinazione non è più necessaria, poiché abbiamo appena assegnato la colonna "Result_BA" della tabella 2 in un'altra posizione. Con l'aiuto del pulsante con la croce rossa possiamo cancellare questa riga:

    Unire tabelle, eliminare colonne

  7. Nel nostro esempio si verifica effettivamente il caso in cui in una delle due tabelle da unire una determinata informazione è stata registrata in un'unica colonna, mentre nell'altra tabella è stata registrata in due colonne separate:

    Unire tabelle, caso speciale

    In questo caso si tratta della via e del numero civico. Come già descritto sopra, esistono diverse possibilità per risolvere questo problema. A tal proposito, consultare le funzioni "Scomponi via" e "Raggruppa campi dati" di DataQualityTools.
  8. Cliccando sul pulsante "Avanti" si accede alla finestra di dialogo che consente di avviare l'unione delle tabelle. A tal fine è necessario assegnare un nome al file. Come formato sono disponibili Excel e CSV / file di testo, dove per il file di testo si distingue tra un file di testo che utilizza il set di caratteri del computer su cui è in esecuzione il programma e un file di testo che utilizza UTF-8 (Unicode). Unicode è un set di caratteri universale indipendente dalla lingua, utilizzato anche da Excel:

    File dei risultati, formato file

    Selezioniamo Excel. Per il file in cui devono essere uniti i fogli di calcolo è necessario specificare un nome file:

    File dei risultati, nome file

    Cliccando sul pulsante "Crea file" questo verrà creato. Il risultato è un file Excel con un foglio di calcolo che contiene tutti i record dei fogli di calcolo da unire con esattamente la struttura che abbiamo specificato nel passaggio precedente.