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