Skip to main content

Table.ExpandListColumn

Given a column of lists in a table, create a copy of a row for each value in its list.

Syntax​

Table.ExpandListColumn(
table as table,
column as text
) as table

Remarks​

Given a table where column contains a list of values, splits the list into a row for each value. Values in the other columns are duplicated in each new row created. This function can also expand nested tables by treating them as lists of records.

Examples​

Example #1​

Split the list column [Name].

Table.ExpandListColumn(
Table.FromRecords({[Name = {"Bob", "Jim", "Paul"}, Discount = .15]}),
"Name"
)

Result:

Table.FromRecords({
[Name = "Bob", Discount = 0.15],
[Name = "Jim", Discount = 0.15],
[Name = "Paul", Discount = 0.15]
})

Example #2​

Split the nested table column [Components].

Table.ExpandListColumn(
#table(
{"Part", "Components"},
{
{"Tool", #table({"Name", "Quantity"}, {{"Thingamajig", 2}, {"Widget", 3}})}
}
),
"Components"
)

Result:

Table.FromRecords({
[Part = "Tool", Components = [Name = "Thingamajig", Quantity = 2]],
[Part = "Tool", Components = [Name = "Widget", Quantity = 3]]
})

Category​

Table.Transformation