Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Table.Pivot

Składnia

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

Informacje

Biorąc pod uwagę parę kolumn reprezentujących pary atrybut-wartość, obraca dane w kolumnie atrybutu do nagłówków kolumn.

Przykład 1

Weź wartości "a", "b" i "c" w kolumnie atrybutów tabeli ({ [ 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 następnie przestawienia ich do własnej kolumny.

Użycie

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

Wyjście

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

Przykład 2

Weź wartości "a", "b" i "c" w kolumnie atrybutów tabeli ({ [ 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 następnie przestawienia ich do własnej kolumny. Atrybut "c" dla klucza "x" ma skojarzone wiele wartości, więc użyj funkcji List.Max, aby rozwiązać konflikt.

Użycie

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
)

Wyjście

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