Cependant, les données provenant de différentes sources ont souvent une structure différente et ne peuvent donc pas être facilement regroupées :

  • Les en-têtes de colonnes peuvent varier. Par exemple, si dans un table, la colonne contenant le code postal s'appelle "PLZ" et dans l'autre "Code postal". Cela pourrait être uniformisé relativement facilement.
  • En cas de colonnes manquantes ou supplémentaires, cela devient plus compliqué : il faudrait alors ajouter des colonnes vides avec ce nom dans tous les tables où des colonnes manquent.
  • Il en va de même lorsque les colonnes apparaissent dans un ordre différent dans les différents tables, par exemple lorsque les colonnes "Prénom" et "Nom" sont inversées. Dans ce cas, l'ordre des colonnes concernées devrait être ajusté avant la fusion.
  • Enfin, il se peut qu'une information spécifique ait été saisie dans une seule colonne dans l'un des tables à fusionner, mais dans deux colonnes distinctes dans l'autre table. Par exemple, le nom de famille peut avoir été saisi séparément du prénom dans l'un des tables, mais dans un seul champ de données dans l'autre table. Dans ce cas, il existe différentes possibilités pour résoudre ce problème : on pourrait fusionner les deux colonnes séparées dans un seul table en une seule colonne et ainsi uniformiser les données. Ou bien on pourrait essayer de décomposer les données du table en une seule colonne pour cette information et les enregistrer dans deux colonnes. Ou bien, pour simplifier, on peut renoncer à uniformiser les données à ce stade et accepter que dans le table cible, la colonne "Nom" ne contienne effectivement que le nom de famille et la colonne "Prénom" que le prénom, ou que la colonne "Prénom" soit vide et que la colonne "Nom" contienne le nom complet.

Il se peut toutefois que tous les enregistrements ne doivent pas être transférés, car il existe des chevauchements entre les tables à fusionner:

  • Soit on s'assure avant de fusionner les tables qu'ils ne contiennent pas de doublons, soit on procède à un nettoyage des doublons après la fusion. Pour savoir comment nettoyer un table des doublons, consultez l'article "Rechercher intelligemment les doublons et les adresses en double avec les DataQualityTools".
  • Il serait également envisageable, après la fusion, de ne pas se contenter de supprimer les doublons/duplicatas, mais d'utiliser cette opération pour compléter les enregistrements conservés avec des informations provenant des enregistrements supprimés, par exemple l'adresse e-mail. Pour plus d'informations sur l'enrichissement des données, consultez l'article "Enrichir les données : compléter les informations à partir d'un deuxième table".

Dans tous les cas, cela implique beaucoup de travail préparatoire avant de pouvoir fusionner les tables à regrouper.

Enfin, il y a le problème que les ensembles de données à fusionner dans un table peuvent être disponibles dans différents formats. L'un des tables à fusionner pourrait par exemple être une liste d'adresses enregistrée dans un fichier Excel. Un autre table à fusionner pourrait être un fichier texte. Et un autre table encore pourrait contenir des données provenant d'une base de données gérée par un serveur de base de données tel que MySQL ou SQL Server. Bien sûr, avant de fusionner les tables, on pourrait dans un premier temps s'assurer que tous les tables sources sont au même format en les exportant et/ou en les convertissant de manière appropriée. Mais il est beaucoup plus simple de s'en passer et de traiter les données directement dans le format dans lequel elles sont disponibles.

Les DataQualityTools, entre autres, maîtrisent tout cela et bien plus encore. Pour fusionner deux ou plusieurs tables, procédez comme suit:

  1. Si vous ne l’avez pas encore fait, téléchargez DataQualityTools gratuitement ici. Installez le logiciel et demandez une activation d’essai. Ainsi, vous pouvez travailler avec le logiciel pendant une semaine sans aucune restriction.
  2. La fonction dont nous avons besoin se trouve dans le menu, dans le bloc "Fusion / division des tables". Sélectionnons la fonction "Fusionner des tables" pour fusionner les tables :



  3. Suite au démarrage de cette fonction, l'administration des projets apparaît à l’écran. Créez un nouveau projet avec un nom de projet quelconque et cliquez ensuite sur le bouton "Continuer".
  4. Il faut ensuite ajouter les tables à fusionner au projet. Il existe plusieurs possibilités pour cela. Pour les fichiers Excel comportant une seule feuille de calcul, pour les fichiers dBase, CSV et texte, vous pouvez utiliser le bouton "Ajouter plusieurs fichiers":

    Ajouter plusieurs fichiers

    Sélectionnez un ou plusieurs fichiers dans la boîte de dialogue correspondante. Après avoir cliqué sur le bouton « Ouvrir », le programme ajoute tous les tables sélectionnés au projet.

    Si le fichier Excel contient plusieurs feuilles de calcul ou si vous souhaitez utiliser une autre source de données qu'Excel, dBase ou des fichiers texte, veuillez utiliser le bouton "Ajouter une table":

    Ajouter une tableen

    Ajoutons un fichier Excel. Pour ce faire, cliquez sur le bouton "Ouvrir le fichier" et sélectionnez ensuite le fichier Excel :

    Ajouter un table, Excel'

    Le nom du fichier Excel sélectionné apparaît alors dans le champ "Nom de la base de données". Et dans le champ "Feuille de calcul", vous trouverez la liste des tables contenus dans ce fichier. Si la source de données contient plusieurs tables, par exemple un fichier Excel avec plusieurs feuilles de calcul, vous pouvez ajouter plusieurs tables/feuilles de calcul au projet, voire tous si vous le souhaitez:

    Ajouter tous les tables

    Pour ajouter un deuxième table, cliquez à nouveau sur le bouton "Ajouter un table". La même boîte de dialogue que précédemment s'affiche:

    Ajouter un table, MySQL

    Le bouton "Ouvrir le fichier", que nous venons d'utiliser, permet d'ajouter des fichiers Excel, Access, dBase, CSV et texte. Pour le deuxième table récapitulatif, nous voulons toutefois sélectionner un table provenant d'une base de données gérée par un serveur de base de données MySQL. Pour ce faire, sélectionnez d'abord l'entrée "Serveur de base de données MySQL / MariaDB" dans la liste de sélection sous "Format / Accès à". Saisissez ensuite le nom du serveur de base de données. Après avoir cliqué sur le bouton "Se connecter au serveur", vous devez saisir les données d'accès. La sélection de la base de données souhaitée et du table correspondant s'effectue enfin à partir des listes de sélection correspondantes. Procédez de la même manière si vos données sont gérées par un autre serveur de base de données tel que MS SQL Server, MySQL, MariaDB, Oracle, Azure SQL ou PostgreSQL.
  5. Nous avons ainsi maintenant deux tables contenant au total 2779 enregistrements qui doivent être fusionnés:

    Fusionner des tables

    Cette fonction ne permet toutefois pas de fusionner uniquement deux tables. Vous pouvez indiquer ici (presque) autant de tables que vous le souhaitez.
  6. En cliquant sur le bouton "Continuer", nous accédons à la boîte de dialogue dans laquelle nous pouvons définir l'apparence du table fusionné et l'emplacement où le contenu des colonnes des tables à fusionner doit être attribué:

    Fusionner des tables

    Ce table contient les informations suivantes:
    - Le bouton avec la croix rouge permet de supprimer la ligne concernée.
    - Les deux boutons avec les flèches vertes permettent de déplacer la ligne correspondante vers le haut ou vers le bas.
    - "Nom du champ du table cible": cette colonne contient les noms des colonnes du table à créer. Ceux-ci peuvent être modifiés.
    - "Nom du champ du table 1": cette colonne contient des listes de sélection avec les noms des colonnes du premier des deux tables à fusionner.
    - "Nom du champ du table 2": cette colonne contient des listes de sélection avec les noms des colonnes du deuxième des deux tables à fusionner.

    À tous les endroits où les deux tables comportent des colonnes portant le même nom, le programme les a déjà attribuées à la même colonne dans le table cible. À tous les autres endroits, aucun champ de données n'a (encore) été sélectionné dans la liste de sélection pour le table 1 ou le table 2. Mais cela peut être modifié. Si, par exemple, la colonne "Result_BA" du table 2 doit être attribuée à la même colonne que la colonne "Result_A" du table 1, nous effectuons simplement cette attribution manuellement:

    Fusionner des tables attribuer une colonne

    La colonne "Result_BA" dans le table cible n'est alors plus nécessaire, car nous venons d'attribuer la colonne "Result_BA" du table 2 à un autre emplacement. À l'aide du bouton avec la croix rouge, nous pouvons supprimer cette ligne:

    Fusionner des tables, supprimer une colonne

  7. Dans notre exemple, il arrive effectivement que dans l'un des deux tables à fusionner, une certaine information ait été saisie dans une seule colonne, tandis que dans l'autre table, elle a été saisie dans deux colonnes distinctes:

    Fusionner des tables, cas particulier

    Dans ce cas, cela concerne la rue et le numéro de maison. Comme décrit ci-dessus, il existe différentes possibilités pour résoudre ce problème. Pour cela, veuillez consulter les fonctions "Séparer la rue" et "Regrouper les champs de données" dans DataQualityTools.
  8. En cliquant sur le bouton "Continuer", nous accédons enfin à la boîte de dialogue qui nous permet de lancer la fusion des tables. Pour cela, nous devons d'abord donner un nom à ce fichier. Les formats disponibles sont Excel et CSV / fichier texte. Pour le fichier texte, il faut choisir entre un fichier texte utilisant le jeu de caractères de l'ordinateur sur lequel le programme est exécuté et un fichier texte utilisant UTF-8 (Unicode). Unicode est un jeu de caractères universel indépendant de la langue, également utilisé par Excel:

    Fichier de résultats, format de fichier

    Sélectionnons ici Excel. Il faut ensuite attribuer un nom au fichier dans lequel les tables doivent être fusionnés:

    Fichier de résultats, nom du fichier

    Il suffit de cliquer sur le bouton "Créer un fichier" pour le créer. Le résultat est un fichier Excel contenant un table qui regroupe tous les enregistrements des tables à fusionner avec exactement la structure que nous avons définie à l'étape précédente.