Sdílet prostřednictvím


Table.TransformColumns

Syntax

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

Asi

Transformuje table použitím každé operace sloupce uvedené v transformOperations (kde formát je { název sloupce, transformace } nebo { název sloupce, transformace, nový typ sloupce }). Pokud je zadán defaultTransformation, použije se u všech sloupců, které nejsou uvedeny v transformOperations. Pokud sloupec uvedený v transformOperations neexistuje, vyvolá se výjimka, pokud volitelný parametr missingField neurčí alternativu (například MissingField.UseNull nebo MissingField.Ignore).

Příklad 1

Převeďte textové hodnoty ve sloupci [A] na číselné hodnoty a číselné hodnoty ve sloupci [B] na textové hodnoty.

Použití

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

výstupní

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

Příklad 2

Převeďte číselné hodnoty ve chybějícím sloupci [X] na textové hodnoty bez ohledu na sloupce, které neexistují.

využití

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

výstupní

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

Příklad 3

Převeďte číselné hodnoty ve chybějícím sloupci [X] na textové hodnoty, výchozí hodnota je null u sloupců, které neexistují.

Využití

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

výstup

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

Příklad 4

Zvýší počet hodnot ve sloupci [B] a převede je na textové hodnoty a převede všechny ostatní sloupce na čísla.

využití

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

výstupní

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