Table.Pivot
หมุนข้อมูลในคอลัมน์แอตทริบิวต์ให้เป็นส่วนหัวคอลัมน์ โดยกำหนดให้มีคู่ของคอลัมน์ที่แสดงถึงคู่แอตทริบิวต์-ค่า
Syntax
Table.Pivot(
table as table,
pivotValues as list,
attributeColumn as text,
valueColumn as text,
optional aggregationFunction as function
) as table
Remarks
หมุนข้อมูลในคอลัมน์แอตทริบิวต์ให้เป็นส่วนหัวคอลัมน์ โดยกำหนดให้มีคู่ของคอลัมน์ที่แสดงถึงคู่แอตทริบิวต์-ค่า
Examples
Example #1
ใช้ค่า "a", "b" และ "c" ในคอลัมน์แอตทริบิวต์ของตาราง <code>({ [ key = "x", attribute = "a", value = 1 ], [ key = "x", attribute = "c", value = 3 ], [ key = "y", attribute = "a", value = 2 ], [ key = "y", attribute = "b", value = 4 ] })</code> และทำ Pivot ลงในคอลัมน์ของตัวเอง
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
ใช้ค่า "a", "b" และ "c" ในคอลัมน์แอตทริบิวต์ของตาราง <code>({ [ 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 ] })</code> และทำ Pivot ลงในคอลัมน์ของตัวเอง แอตทริบิวต์ "c" สำหรับคีย์ "x" มีการเชื่อมโยงกับหลายค่า ดังนั้นให้ใช้ฟังก์ชัน List.Max เพื่อแก้ไขข ้อขัดแย้ง
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