Udostępnij za pośrednictwem


Table.TransformColumns

Składnia

Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable number) as table

Około

Przekształca table przez zastosowanie każdej operacji kolumny wymienionej w transformOperations (gdzie format to { nazwa kolumny, przekształcenie } lub { nazwa kolumny, przekształcenie, nowy typ kolumny }). Jeśli zostanie określony defaultTransformation, zostanie zastosowany do wszystkich kolumn, które nie są wymienione w transformOperations. Jeśli kolumna wymieniona w transformOperations nie istnieje, zostanie zgłoszony wyjątek, chyba że opcjonalny parametr missingField określa alternatywę (na przykład MissingField.UseNull lub MissingField.Ignore).

Przykład 1

Przekonwertuj wartości tekstowe w kolumnie [A] na wartości liczbowe, a wartości liczbowe w kolumnie [B] na wartości tekstowe.

użycie

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {
        {"A", Number.FromText},
        {"B", Text.From}
    }
)

Wyjście

Table.FromRecords({
    [A = 1, B = "2"],
    [A = 5, B = "10"]
})

Przykład 2

Przekonwertuj wartości liczbowe w brakującej kolumnie [X] na wartości tekstowe, ignorując kolumny, które nie istnieją.

użycie

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.Ignore
)

Wyjście

Table.FromRecords({
    [A = "1", B = 2],
    [A = "5", B = 10]
})

Przykład 3

Przekonwertuj wartości liczbowe w brakującej kolumnie [X] na wartości tekstowe, przy czym wartości domyślne to null dla kolumn, które nie istnieją.

użycie

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.UseNull
)

Wyjście

Table.FromRecords({
    [A = "1", B = 2, X = null],
    [A = "5", B = 10, X = null]
})

Przykład 4

Zwiększ wartości liczbowe w kolumnie [B] i przekonwertuj je na wartości tekstowe, a następnie przekonwertuj wszystkie pozostałe kolumny na liczby.

użycie

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"B", each Text.From(_ + 1), type text},
    Number.FromText
)

Wyjście

Table.FromRecords({
    [A = 1, B = "3"],
    [A = 5, B = "11"]
})