Partager via


Table.NestedJoin

Syntaxe

Table.NestedJoin(table1 as table, key1 as any, table2 as any, key2 as any, newColumnName as text, optional joinKind as nullable number, optional keyEqualityComparers as nullable list) as table

À propos

Joint les lignes de table1 aux lignes de table2 en fonction de l’égalité des valeurs des colonnes clés sélectionnées par key1 (pour table1) et par key2 (pour table2). Les résultats sont entrés dans la colonne nommée newColumnName.

L’élément joinKind facultatif spécifie le type de jointure à effectuer. Par défaut, une jointure externe gauche est effectuée si aucun joinKind n’est spécifié.

Un ensemble facultatif de keyEqualityComparers peut être inclus pour spécifier comment comparer les colonnes clés. Cette fonctionnalité keyEqualityComparers est actuellement est réservée à un usage interne uniquement.

Exemple 1

Joignez deux tables à l’aide d’une seule colonne clé.

Utilisation

Table.NestedJoin(
    Table.FromRecords({
        [CustomerToCall = 1],
        [CustomerToCall = 3]
    }),
    {"CustomerToCall"},
    Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"],
        [CustomerID = 3, Name = "Paul", Phone = "543-7890"],
        [CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
    }),
    {"CustomerID"},
    "CustomerDetails"
)

Sortie

Table.FromRecords({
    [CustomerToCall = 1, CustomerDetails = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]})],
    [CustomerToCall = 3, CustomerDetails = Table.FromRecords({[CustomerID = 3, Name = "Paul", Phone = "543-7890"]})]
})