Table.Join
Syntax
Table.Join(table1 as table, key1 as any, table2 as table, key2 as any, optional joinKind as nullable number, optional joinAlgorithm as nullable number, optional keyEqualityComparers as nullable list) as table
Om
Kopplar ihop raderna i table1 med raderna i table2 baserat på likheten mellan värdena i de nyckelkolumner som valts av key1 (för table1) och key2 (för table2).
Som standard utförs en inre koppling, men en valfri joinKind kan inkluderas för att ange kopplingstyp. Alternativen är:
JoinKind.InnerJoinKind.LeftOuterJoinKind.RightOuterJoinKind.FullOuterJoinKind.LeftAntiJoinKind.RightAnti
Som standard kan en valfri uppsättning keyEqualityComparers inkluderas för att ange hur nyckelkolumnerna ska jämföras. För närvarande är den här funktionen endast avsedd för internt bruk.
Exempel 1
Inre koppling mellan de två tabellerna i [CustomerID]
Table.Join(
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",
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25]
}),
"CustomerID"
)
| CustomerID | Namn | Telefon | OrderID | Objekt | Pris |
|---|---|---|---|---|---|
| 1 | Bob | 123-4567 | 1 | Fiskespö | 100 |
| 1 | Bob | 123-4567 | 2 | 1 lb. maskar | 5 |
| 2 | Jim | 987-6543 | 3 | Fisknät | 25 |
| 3 | Paul | 543-7890 | 4 | Fiskepistol | 200 |
| 3 | Paul | 543-7890 | 5 | Plåster | 2 |
| 1 | Bob | 123-4567 | 6 | Fiskelåda | 20 |