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