Jointure anti droite
L’un des types de jointures disponibles dans la boîte de dialogue Fusionner dans Power Query est une jointure anti droite qui apporte uniquement des lignes de la table de droite qui n’ont pas de lignes correspondantes dans la table de gauche. Informations supplémentaires : Vue d’ensemble des opérations de fusion
La figure montre une table à 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. Une 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 une ligne, avec les champs Date, CountryID et Units définis sur null, et le champ Country défini sur Spain.
Cet article utilise un échantillon de données pour montrer comment effectuer une opération de fusion avec la jointure anti droite. 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.
Countries : il s’agit d’une table de référence avec les champs id et Country. Le champ id représente l’identificateur unique pour chaque enregistrement.
Dans cet exemple, vous allez fusionner les deux tables, avec la table Sales comme table de gauche et la table Countries comme table de droite. La jointure sera 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 droite qui ne correspondent à aucune ligne de la table de gauche sont conservées. En tant que cas d’usage courant, vous pouvez trouver toutes les lignes disponibles dans la table de droite qui ne le sont pas dans la table de gauche.
Table finale de jointure anti droite avec les colonnes Date, CountryID, Units et Country, contenant une ligne avec la valeur null dans toutes les colonnes, à l’exception de la colonne Country qui contient Spain.
Pour effectuer une jointure anti droite
- Sélectionnez la requête Sales, puis Fusionner les requêtes.
- Dans la boîte de dialogue Fusionner, sous Table de droite à fusionner, sélectionnez Countries.
- Dans la table Sales, sélectionnez la colonne CountryID.
- Dans la table Countries, sélectionnez la colonne id.
- Dans la section Type de jointure, sélectionnez Anti droite.
- Cliquez sur OK.
Conseil
Examinez de plus près le message en bas de la boîte de dialogue : « La sélection exclut 1 des 2 lignes de la deuxième table ». Ce message est essentiel pour comprendre le résultat de cette opération.
Dans la table Pays, vous avez le Pays Espagne avec un ID de 4, mais il n'y a aucun enregistrement pour CountryID 4 dans la table Ventes. C’est pourquoi une seule des deux lignes de la table de droite (la deuxième table) a trouvé une correspondance. En raison du mode de fonctionnement de la jointure anti droite, vous ne verrez jamais de ligne de la table de gauche (première) dans la sortie de cette opération.
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.
Après avoir effectué cette opération, vous allez créer une table ressemblant à l’image suivante. Le champ Country nouvellement développé n’a pas de valeurs. Cela est dû au fait que la jointure anti droite n’apporte aucune valeur de la table de gauche, et conserve uniquement les lignes de la table de droite.
Table finale avec les colonnes Date, CountryID, Units et Country, contenant une ligne avec la valeur null dans toutes les colonnes, à l’exception de la colonne Country qui contient Spain.