L’équipe de développement de Power Query rend disponibles de nouvelles version de cet add-in Excel, mensuellement. Dans une version récente, plusieurs options de jointures ont été ajoutées, rendant ainsi l’option de fusion de tables (merge queries) encore plus intéressante. Cet article vise à présenter les différentes options de jointures disponibles dans Power Query.
Tables de données
Pour illustrer les différentes options de jointures disponibles dans Power Query, nous allons utiliser deux tables, soit la table de ventes A et la table de ventes B, que vous pouvez apercevoir ci-bas.
1. Left Outer (all from first, matching from second)
De A vers B
Reprend tous les enregistrements de la première table, soit les produits A et les ventes A, et renvoie seulement les données correspondantes de la deuxième table, soit les ventes B.
De B vers A
Reprend tous les enregistrements de la deuxième table, soit les produits B et les ventes B, et renvoie seulement les données correspondantes de la première table, soit les ventes A.
2. Right Outer (all from second, matching from first)
De A vers B
Reprend tous les enregistrements de la deuxième table, soit les ventes B, et renvoie seulement les données correspondantes de la première table, soit les ventes A. Voyez toutefois que nous perdons les étiquettes de produits lorsque nous procédons ainsi. Une alternative, pour obtenir toutes les étiquettes de produits des ventes B, serait d’utiliser un LeftOuter de B vers A.
Une autre alternative serait d’ajouter la colonne de produits B lors de l’expansion de la table de ventes B et d’ensuite supprimer la première colonne.
De B vers A
Reprend tous les enregistrements de la deuxième table, soit les ventes A, et renvoie seulement les données correspondantes de la première table, soit les ventes B.
3. Full Outer (All rows from both)
De A vers B
Reprend toutes les lignes des deux tables, mais les étiquettes de lignes ne sont que ceux de la première table, soit la table de ventes A.
De B vers A
Reprend toutes les lignes des deux tables, mais les étiquettes de lignes ne sont que ceux de la première table, soit la table de ventes A.
Manipulations supplémentaires
Afin de rendre un joint Full Outer plus intéressant, vous voudrez peut-être effectuer quelques étapes de transformation. D’abord, vous voudrez sans doute ajouter la colonne de produits de la table de ventes B, en plus de celle de la table de ventes A, en sélectionnant les produits dans le menu d’expansion.
Ensuite, vous voudrez sans doute ajouter une colonne personnalisée qui comprendra tous les noms de produits. Vous pourrez le faire à l’aide d’une fonction If, tel qu’illustré ci-bas.
Vous obtiendrez alors la table résultante suivante.
Et vous pourrez alors supprimer les colonnes ProduitsA et ProduitsB, pour ne retenir que la colonne avec tous les noms de produits.
4. Inner (only matching rows)
De A vers B
Reprend les produits communs entre les deux tables, soit les produits A et B, et présente d’abord les ventes de A et ensuite les ventes de B.
De B vers A
Reprend les produits communs entre les deux tables, soit les produits A et B, et présente d’abord les ventes de B et ensuite les ventes de A.
5. Left Anti (rows only in first)
De A vers B
Reprend seulement les lignes de la première table qui ne correspondent pas à la deuxième table. On retrouve donc les ventes de la table A pour les produits qui n’existent pas dans la table de ventes B.
De B vers A
Reprend seulement les lignes de la première table qui ne correspondent pas à la deuxième table. On retrouve donc les ventes de la table B pour les produits qui n’existent pas dans la table de ventes A.
6. Right Anti (rows only in second)
De A vers B
Reprend seulement les lignes de la deuxième table qui ne correspondent pas à la première table. On retrouve donc les ventes de la table B pour les produits qui n’existent pas dans la table de ventes A. Par contre, pour obtenir le nom des produits, il faut les inclure dans le menu d’expansion. Et finalement, il serait sans doute préférable, à la toute fin, de supprimer les colonnes ProduitsA et VentesA.
De B vers A
Reprend seulement les lignes de la deuxième table qui ne correspondent pas à la première table. On retrouve donc les ventes de la table A pour les produits qui n’existent pas dans la table de ventes B. Par contre, pour obtenir le nom des produits, il faut les inclure dans le menu d’expansion. Et finalement, il serait sans doute préférable, à la toute fin, de supprimer les colonnes ProduitsB et VentesB.
À retenir
L’ordre dans lequel vous effectuez vos fusions importe. Avant d’aller de l’avant avec une fusion, posez-vous des questions sur vos sources de données et sur les résultats que vous désirez obtenir via cette fusion. De plus, remarquez qu’il existe plusieurs alternatives pour obtenir les mêmes résultats, comme c’est souvent le cas avec ce type d’outils. Assurez-vous de bien en saisir toutes les subtilités.
NOTRE OFFRE DE FORMATIONS
Le CFO masqué vous offre 13 formations, réparties dans 4 catégories: Tableaux de bord, Modélisation financière, Finance corporative et Analyse et modélisation de données. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel.
Consulter la liste des formations offertes
Pour info: 514-605-7112 ou info@lecfomasque.com