Table.TransformColumns
Sintaxis
Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable number) as table
Acerca de
Transforma table
mediante la aplicación de cada operación de columna enumerada en transformOperations
(donde el formato es { nombre de la columna, transformación } o { nombre de columna, transformación, nuevo tipo de columna }). Si se especifica defaultTransformation
, se aplicará a toda las columnas que no se enumeren en transformOperations
. Si no existe una columna enumerada en transformOperations
, se produce una excepción a menos que el parámetro missingField
opcional especifique una alternativa (por ejemplo, MissingField.UseNull o MissingField.Ignore).
Ejemplo 1
Convierte los valores de texto de la columna [A] en valores numéricos, y los valores numéricos de la columna [B] en valores de texto.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
Salida
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Ejemplo 2
Convierte los valores numéricos de la columna que falta [X] en valores de texto, omitiendo las columnas que no existen.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.Ignore
)
Salida
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
})
Ejemplo 3
Convierte los valores numéricos de la columna que falta [X] en valores de texto, y los convierte de forma predeterminada a null en las columnas que no existen.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
Salida
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Ejemplo 4
Incrementa los valores numéricos de la columna [B] y los convierte en valores de texto, y convierte todas las demás columnas en números.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
Salida
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})