Partager via


Jointure anti gauche

L’un des types de jointures disponibles dans la boîte de dialogue Fusionner dans Power Query est une jointure anti gauche qui apporte uniquement des lignes de la table de gauche qui n’ont pas de lignes correspondantes dans la table de droite. Informations supplémentaires : Vue d’ensemble des opérations de fusion

Exemple de jointure anti gauche.

Le diagramme montre la table de gauche avec des colonnes Date, CountryID et Units. La colonne CountryID mise en évidence contient des valeurs 1 dans les lignes 1 et 2, une valeur 3 dans la ligne 3, et une valeur 2 dans la ligne 4. La table à droite contient les colonnes ID et Country. La colonne d’ID mise en évidence contient les valeurs 3 dans la ligne 1 (indiquant Panama), et 4 dans la ligne 2 (indiquant Spain). Une table sous les deux premières tables contient des colonnes Date, CountryID, Units et Country. La table comporte trois lignes, avec deux lignes contenant les données de CountryID 1 et une ligne pour CountryID 2. Étant donné qu’aucun des CountryID restants ne correspond à l’un des pays/régions de la table de droite, les lignes de la colonne Pays de la table fusionnée contiennent toutes des valeurs nulles.

Cet article utilise un échantillon de données pour montrer comment effectuer une opération de fusion avec la jointure anti gauche. Les exemples de tables sources sont ici les suivants :

  • Sales : cette table inclut les champs Date, CountryID et Units. CountryID est une valeur de nombre entier qui représente l’identificateur unique de la table Countries.

    Capture d’écran de la table Sales contenant les colonnes Date, CountryID et Units, avec CountryID défini sur 1 dans les lignes 1 et 2, 3 dans la ligne 3 et 2 dans la ligne 4.

  • Countries : table de référence avec les champs id et Country. Le champ id représente l’identificateur unique pour chaque enregistrement.

    Capture d’écran de la table Countries avec ID défini sur 3 dans la ligne 1 et 4 dans la ligne 2, et Country défini sur Panama dans la ligne 1 et Spain dans la ligne 2.

Dans cet exemple, vous fusionnez les deux tables, avec la table Sales comme table de gauche et la table Countries comme table de droite. La jointure est effectuée entre les colonnes suivantes.

Champ de la table Sales Champ de la table Countries
CountryID id

L’objectif est de créer une table comme celle ci-après, où seules les lignes de la table de gauche qui ne correspondent à aucune ligne de la table de droite sont conservées.

Table finale de jointure anti gauche.

Capture d’écran du tableau de jointure anti gauche avec les en-têtes de colonne Date, CountryID, Units et Country, et trois lignes de données dont les valeurs de la colonne Country sont toutes null.

Pour effectuer une jointure anti gauche :

  1. Sélectionnez la requête Sales, puis Fusionner les requêtes.
  2. Dans la boîte de dialogue Fusionner, sous Table de droite à fusionner, sélectionnez Countries.
  3. Dans la table Sales, sélectionnez la colonne CountryID.
  4. Dans la table Countries, sélectionnez la colonne ID.
  5. Dans la section Type de jointure, sélectionnez Anti gauche.
  6. Cliquez sur OK.

Capture d’écran de la boîte de dialogue Fusionner montrant les résultats de la procédure anti-jointure gauche précédente.

Conseil

Examinez de plus près le message en bas de la boîte de dialogue : « La sélection sélectionne 3 des 4 lignes de la première table ». Ce message est essentiel pour comprendre le résultat de cette opération.

Dans la table Sales, vous avez deux instances avec un CountryID de 1 et une avec un CountryID de 2, mais aucune ne correspond à une valeur de la table Countries. Par conséquent, la correspondance a trouvé trois des quatre lignes dans la table gauche (le premier).

Dans la table Countries, vous avez le Country Panama avec un ID de 3 ; l’enregistrement n’est donc pas placé dans la table Sales, car les nombres correspondent. Par ailleurs, vous avez le Country Espagne avec un ID de 4, mais il n'y a aucun enregistrement pour le CountryID 4 dans la table Sales. Par conséquent, aucune des deux lignes de la table droite (la deuxième) n’est insérée dans la table Sales.

Dans la colonne Countries nouvellement créée, développez le champ Country. N’activez pas la case à cocher Utiliser le nom de la colonne d’origine comme préfixe.

Capture d’écran de la boîte de dialogue Développer avec seulement la colonne Country sélectionnée.

Après avoir effectué cette opération, vous avez créé une table ressemblant à l’image suivante. Le nouveau champ étendu Country n’a pas de valeurs, car la jointure anti gauche n’apporte aucune valeur de la table de droite, et conserve uniquement les lignes de la table de gauche.

Table finale pour la jointure anti gauche.

Capture d’écran de la table finale avec les en-têtes de colonne Date, CountryID, Units et Country, et trois lignes de données. Toutes les valeurs de la colonne Country sont null.