Udostępnij za pośrednictwem


Table.NestedJoin

Składnia

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

Informacje

Łączy wiersze z table1 z wierszami table2 na podstawie równości wartości kolumn kluczy wybranych przez key1 (dla table1) oraz key2 (dla table2). Wyniki są wprowadzane do kolumny o nazwie newColumnName.

Opcjonalnie joinKind określa rodzaj sprzężenia do przeprowadzenia. Domyślnie lewe sprzężenie zewnętrzne jest wykonywane, jeśli nie określono elementu joinKind.

Opcjonalny zestaw keyEqualityComparers może zostać uwzględniony w celu określenia sposobu porównywania kolumn kluczy. Ta keyEqualityComparers funkcja jest obecnie przeznaczona tylko do użytku wewnętrznego.

Przykład 1

Połącz dwie tabele przy użyciu jednej kolumny klucza.

Użycie

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"
)

Wyjście

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"]})]
})

Rodzaj sprzężenia