Table.Pivot
Diberi sepasang lajur yang mewakili pasangan nilai atribut, menggilirkan data dalam lajur atribut ke dalam tajuk lajur.
Syntax
Table.Pivot(
table as table,
pivotValues as list,
attributeColumn as text,
valueColumn as text,
optional aggregationFunction as function
) as table
Remarks
Diberi sepasang lajur yang mewakili pasangan nilai atribut, menggilirkan data dalam lajur atribut ke dalam tajuk lajur.
Examples
Example #1
Ambil nilai "a", "b" dan "c" dalam lajur atribut pada jadual ({ [ key = "x", attribute = "a", value = 1 ], [ key = "x", attribute = "c", value = 3 ], [ key = "y", attribute = "a", value = 2 ], [ key = "y", attribute = "b", value = 4 ] }) dan pangsikannya dalam lajurnya sendiri.
Table.Pivot(
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]
}),
{"a", "b", "c"},
"attribute",
"value"
)
Result:
Table.FromRecords({
[key = "x", a = 1, b = null, c = 3],
[key = "y", a = 2, b = 4, c = null]
})
Example #2
Ambil nilai "a", "b" dan "c" dalam lajur atribut pada jadual ({ [ key = "x", attribute = "a", value = 1 ], [ key = "x", attribute = "c", value = 3 ], [ key = "x", attribute = "c", value = 5 ], [ key = "y", attribute = "a", value = 2 ], [ key = "y", attribute = "b", value = 4 ] }) dan pangsikannya dalam lajurnya sendiri. Atribut "c" untuk kunci "x" mempunyai berbilang nilai yang dikaitkan dengannya, jadi gunakan fungsi List.Max untuk menyelesaikan konflik.
Table.Pivot(
Table.FromRecords({
[key = "x", attribute = "a", value = 1],
[key = "x", attribute = "c", value = 3],
[key = "x", attribute = "c", value = 5],
[key = "y", attribute = "a", value = 2],
[key = "y", attribute = "b", value = 4]
}),
{"a", "b", "c"},
"attribute",
"value",
List.Max
)
Result:
Table.FromRecords({
[key = "x", a = 1, b = null, c = 5],
[key = "y", a = 2, b = 4, c = null]
})
Category
Table.Column operations