Skip to main content

Table.Unpivot

Translates a set of columns in a table into attribute-value pairs.

Syntax

Table.Unpivot(
table as table,
pivotColumns as list,
attributeColumn as text,
valueColumn as text
) as table

Remarks

Translates a set of columns in a table into attribute-value pairs, combined with the rest of the values in each row.

Examples

Example #1

Take the columns "a", "b", and "c" in the table <code>({[ key = "x", a = 1, b = null, c = 3 ], [ key = "y", a = 2, b = 4, c = null ]})</code> and unpivot them into attribute-value pairs.

Table.Unpivot(
Table.FromRecords({
[key = "x", a = 1, b = null, c = 3],
[key = "y", a = 2, b = 4, c = null]
}),
{"a", "b", "c"},
"attribute",
"value"
)

Result:

Table.FromRecords({
[key = "x", attribute = "a", value = 1],
[key = "x", attribute = "c", value = 3],
[key = "y", attribute = "a", value = 2],
[key = "y", attribute = "b", value = 4]
})

Category

Table.Column operations