Compartilhar via


Table.TransformColumns

Sintaxe

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

Sobre

Transforma table aplicando cada operação de coluna listada em transformOperations (em que o formato é { nome da coluna, transformação } ou { nome da coluna, transformação, novo tipo de coluna }). Se defaultTransformation for especificado, ele será aplicado a todas as colunas não listadas em transformOperations. Se uma coluna listada em transformOperations não existir, uma exceção será gerada, a menos que o parâmetro opcional missingField especifique uma alternativa (por exemplo, MissingField.UseNull ou MissingField.Ignore).

Exemplo 1

Converta os valores de texto na coluna [A] em valores numéricos e os valores numéricos na coluna [B] em valores de texto.

Usage

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

Saída

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

Exemplo 2

Converta os valores numéricos da coluna ausente [X] em valores de texto, ignorando as colunas inexistentes.

Usage

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

Saída

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

Exemplo 3

Converta os valores numéricos da coluna ausente [X] em valores de texto, usando nulo como padrão nas colunas inexistentes.

Usage

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

Saída

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

Exemplo 4

Incremente os valores numéricos da coluna [B] e converta-os em valores de texto, além de converter todas as outras colunas em números.

Usage

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

Saída

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