Table.AddJoinColumn

Table.AddJoinColumn

Performs a join between tables on supplied columns and produces the join result in a new column.

function (table1 as table, optional key1 as nullable any, optional table2 as nullable any, optional key2 as nullable any, newColumnName as text) as table

Description

Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are entered into the column named newColumnName. This function behaves similarly to Table.Join with a JoinKind of LeftOuter except that the join results are presented in a nested rather than flattened fashion.

Category

Table.Transformation

Examples

Add a join column to ({[saleID = 1, item = "Shirt"], [saleID = 2, item = "Hat"]}) named "price/stock" from the table ({[saleID = 1, price = 20], [saleID = 2, price = 10]}) joined on [saleID].

Table.AddJoinColumn(Table.FromRecords({[saleID = 1, item = "Shirt"], [saleID = 2, item = "Hat"]}), "saleID", () => Table.FromRecords({[saleID = 1, price = 20, stock = 1234], [saleID = 2, price = 10, stock = 5643]}), "saleID", "price")

Table.FromRecords({ [ saleID = 1, item = "Shirt", price =Table.FromRecords({ [ saleID = 1, price = 20, stock = 1234 ] }, { "saleID", "price", "stock" }) ], [ saleID = 2, item = "Hat", price =Table.FromRecords({ [ saleID = 2, price = 10, stock = 5643 ] }, { "saleID", "price", "stock" }) ] }, { "saleID", "item", "price" })