Baca dalam bahasa Inggris

Bagikan melalui


Table.Pivot

Sintaksis

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

Tentang

Diberikan sepasang kolom yang mewakili pasangan atribut-nilai, mengubah data dari kolom atribut menjadi judul kolom.

Contoh 1

Ambil nilai "a", "b", dan "c" di kolom atribut tabel ({ [ 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 pivot ke kolom mereka sendiri.

Penggunaan

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"
)

Output

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

Contoh 2

Ambil nilai "a", "b", dan "c" di kolom atribut tabel ({ [ 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 putar ke dalam kolom mereka sendiri. Atribut "c" untuk kunci "x" memiliki beberapa nilai yang terkait dengannya, jadi gunakan fungsi List.Max untuk mengatasi konflik.

Penggunaan

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
)

Output

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