Combiner plusieurs tables en une seule table

Effectué

La possibilité de combiner des requêtes est puissante, car elle vous permet d’ajouter ou de fusionner différentes tables ou requêtes. Vous pouvez combiner des tables en une seule table dans les circonstances suivantes :

  • Trop de tables sont présentes. Cela rend difficile la navigation dans un modèle sémantique trop complexe.

  • Plusieurs tables ont un rôle similaire.

  • Une table n’a qu’une ou deux colonnes qui peuvent être transférées dans une autre table.

  • Vous voulez utiliser plusieurs colonnes de différentes tables dans une colonne personnalisée.

Vous pouvez combiner les tables de deux manières différentes : la fusion et l’ajout.

Supposons que vous développez des rapports Power BI pour les équipes Ventes et Ressources humaines. Ils vous ont demandé de créer un rapport sur les informations de contact, contenant les informations de contact et l’emplacement de chaque employé, fournisseur et client.  Les données se trouvent dans les tables HR.Employees, Production.Suppliers et Sales.Customers, comme indiqué dans l’image suivante.

Capture d’écran de la sélection des tables dans l’éditeur Power Query

Ces données proviennent cependant de plusieurs tables : le dilemme est donc de déterminer comment vous pouvez fusionner les données de ces multiples tables et créer une table « source de vérité » à partir de laquelle créer un rapport. Les fonctionnalités intrinsèques de Power BI vous permettent de combiner et de fusionner des requêtes en une seule table.

Ajouter des requêtes

Quand vous ajoutez des requêtes, vous allez ajouter des lignes de données à une autre table ou une autre requête. Par exemple, vous pouvez avoir deux tables, une avec 300 lignes et une autre avec 100 lignes, et quand vous ajoutez des requêtes, vous obtenez 400 lignes. Quand vous fusionnez des requêtes, vous ajoutez des colonnes d’une table (ou d’une requête) dans une autre table ou requête.  Pour fusionner deux tables, vous devez avoir une colonne qui est la clé entre les deux tables.

Pour le scénario mentionné précédemment, vous allez ajouter la table HR.Employees aux tables Production.Suppliers et Sales.Customers pour disposer d’une liste maître des informations de contact.  Comme vous voulez créer une table qui contient toutes les informations de contact pour les employés, les fournisseurs et les clients, quand vous combinez les requêtes, les colonnes pertinentes dont vous avez besoin dans votre table combinée doivent être nommées de la même façon dans vos tables de données d’origine pour visualiser une vue consolidée.

Avant de commencer à combiner des requêtes, vous pouvez supprimer de vos tables les colonnes superflues dont vous n’avez pas besoin pour cette tâche. Pour effectuer cette tâche, mettez en forme chaque table de façon à ce qu’elle ne contiennent que quatre colonnes avec les informations pertinentes, puis renommez-les de façon à ce qu’elles aient toutes les mêmes en-têtes de colonnes : ID, company (entreprise), name (nom) et phone (téléphone).  Les images suivantes sont des extraits de la remise en forme des tables Sales.Customers, Production.Suppliers et HR.Employees.

Remise en forme pour l’ajout

Une fois la remise en forme terminée, vous pouvez combiner les requêtes. Sous l’onglet Accueil du ruban de l’éditeur Power Query, sélectionnez la liste déroulante pour Ajouter des requêtes. Vous pouvez sélectionner Ajouter les requêtes comme étant nouvelles, ce qui signifie que le résultat de l’ajout aboutit à une nouvelle requête ou une nouvelle table, ou vous pouvez sélectionner Ajouter des requêtes, ce qui va ajouter les lignes d’une table existante dans une autre.

La tâche suivante est de créer une nouvelle table maître : vous devez donc sélectionner Ajouter les requêtes comme étant nouvelles. Ce choix vous amène à une fenêtre où vous pouvez ajouter les tables que vous voulez ajouter de Tables disponibles à Tables à ajouter, comme illustré dans l’image suivante.

Ajouter les requêtes comme étant nouvelles dans l’éditeur Power Query

Une fois que vous avez ajouté les tables que vous voulez ajouter, sélectionnez OK. Vous serez dirigé vers une nouvelle requête qui contient toutes les lignes de vos trois tables, comme illustré dans l’image suivante.

Résultat final de Ajouter les requêtes comme étant nouvelles

Vous avez maintenant réussi à créer une table maître qui contient les informations pour les employés, les fournisseurs et les clients. Vous pouvez quitter l’éditeur Power Query et créer les éléments de rapport à partir de cette table maître.

Cependant, si vous voulez fusionner des tables au lieu d’ajouter les données d’une table à une autre, le processus serait différent.

Fusionner des requêtes

Quand vous fusionnez des requêtes, vous combinez les données de plusieurs tables en une seule, sur la base d’une colonne commune entre les tables.  Ce processus est similaire à la clause JOIN dans SQL.  Imaginez un scénario dans lequel l’équipe Ventes veut maintenant consolider les commandes et leurs détails correspondants (qui sont actuellement dans deux tables) en une seule table. Vous pouvez effectuer cette tâche en fusionnant les deux tables, Orders et OrderDetails, comme indiqué dans l’image suivante. La colonne qui est partagée entre ces deux tables est OrderID.

Tables Order et Order Details à fusionner

Accédez à Accueil sur le ruban de l’éditeur Power Query, puis sélectionnez le menu déroulant Fusionner des requêtes, où vous pouvez sélectionner Fusionner les requêtes comme nouvelles. Cette sélection ouvre une nouvelle fenêtre, où vous pouvez choisir dans la liste déroulante les tables que vous voulez fusionner, puis sélectionner la colonne commune aux tables, qui est dans ce cas orderid.

Fenêtre Fusionner des requêtes

Vous pouvez également choisir comment joindre les deux tables, un processus qui est également similaire aux instructions JOIN dans SQL.  Ces options de jointure incluent :

  • Externe gauche : Affiche toutes les lignes de la première table et seulement les lignes correspondantes de la seconde.

  • Externe entière : Affiche toutes les lignes des deux tables.

  • Interne : Affiche les lignes correspondantes entre les deux tables.

Pour ce scénario, vous allez choisir d’utiliser une jointure Externe gauche. Sélectionnez OK : vous êtes alors dirigé vers une nouvelle fenêtre où vous pouvez visualiser votre requête fusionnée.

Vue finale des requêtes fusionnées

Vous pouvez maintenant fusionner deux requêtes ou tables de différentes manières, ce qui vous permet de visualiser vos données de la façon la plus appropriée pour vos besoins métier.

Pour plus d’informations à ce sujet, consultez la documentation Mettre en forme et combiner des données dans Power BI Desktop.