Saltar para o conteúdo principal

Table.TransformColumns

Transforma os valores de uma ou mais colunas.

Syntax

Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as function,
optional missingField as MissingField.Type
) as table

Remarks

Transforma table ao aplicar 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 for especificado um defaultTransformation, será aplicado a todas as colunas não listadas no transformOperations. Se uma coluna listada no transformOperations não existir, será acionada uma exceção, a menos que o parâmetro opcional missingField especifique uma alternativa (por exemplo, MissingField.UseNull ou MissingField.Ignore).

Examples

Example #1

Converte os valores de texto na coluna [A] em valores de números e os valores de números na coluna [B] em valores de texto.

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

Result:

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

Example #2

Converte valores numéricos na coluna [X] em falta em valores de texto, ignorando as colunas que não existem.

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

Result:

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

Example #3

Converte valores numéricos na coluna [X] em falta em valores de texto; o valor assumido por predefinição nas colunas que não existem é nulo.

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

Result:

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

Example #4

Incrementa os valores de número na coluna [B] e converte-os em valores de texto, convertendo as restantes colunas em números.

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

Result:

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

Category

Table.Transformation