อ่านในภาษาอังกฤษ

แชร์ผ่าน


Table.Pivot

วากยสัมพันธ์

Table.Pivot(table as table, pivotValues as list, attributeColumn as text, valueColumn as text, optional aggregationFunction as nullable function) as table

ประมาณ

หมุนข้อมูลในคอลัมน์แอตทริบิวต์ให้เป็นส่วนหัวของคอลัมน์ โดยกําหนดให้คู่ของคอลัมน์ที่แสดงถึงคู่แอตทริบิวต์-ค่า

ตัวอย่างที่ 1

ใช้ค่า "a", "b" และ "c" ในคอลัมน์แอตทริบิวต์ของตาราง ({ [ key = "x", attribute = "a", value = 1 ], [ key = "x", attribute = "c", value = 3 ], [ key = "y", attribute = "a", value = 2 ], [ key = "y", attribute = "b", value = 4 ] }) และ 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"
)

ผลลัพธ์ของ

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

ตัวอย่างที่ 2

ใช้ค่า "a", "b" และ "c" ในคอลัมน์แอตทริบิวต์ของตาราง ({ [ 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 ] }) และ 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
)

ผลลัพธ์ของ

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