Partilhar via


Table.TransformColumns

Sintaxe

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

Acerca de

Transforma aplicando cada operação de coluna listada em transformOperations (onde o formato é { nome da coluna, transformação } ou { nome da coluna, transformação, novo tipo de table coluna }). Se a for especificado, ele será aplicado a defaultTransformation todas as colunas não listadas em transformOperations. Se uma coluna listada não transformOperations existir, uma exceção será lançada, a menos que o parâmetro missingField opcional 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.

Utilização

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 na coluna ausente [X] em valores de texto, ignorando colunas que não existem.

Utilização

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 na coluna ausente [X] em valores de texto, padronizando para nulo em colunas que não existem.

Utilização

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 na coluna [B] e converta-os em valores de texto e converta todas as outras colunas em números.

Utilização

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