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

Sobre nós

Transforma table 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 coluna }). Se um defaultTransformation for especificado, ele será aplicado a todas as colunas não listadas no transformOperations. Se uma coluna listada em transformOperations não existir, uma exceção será lançada, 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.

Utilização

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

Output

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