Table.TransformColumns

Składnia

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

Informacje

table Przekształca, stosując każdą operację kolumny wymienioną w tabeli transformOperations (gdzie format to { nazwa kolumny, przekształcenie } lub { nazwa kolumny, przekształcenie, nowy typ kolumny }). defaultTransformation Jeśli parametr zostanie określony, zostanie zastosowany do wszystkich kolumn, które nie są wymienione w pliku transformOperations. Jeśli kolumna wymieniona w pliku 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, domyślnie na null w kolumnach, 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"]
})