Compartir a través de


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

table Transforma aplicando cada operación de columna enumerada en transformOperations (donde el formato es { nombre de columna, transformación } o { nombre de columna, transformación, nuevo tipo de columna }). Si se especifica , defaultTransformation se aplicará a todas las columnas que no aparecen 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

Convierta 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

Convierta 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

Convierta los valores numéricos de la columna que faltan [X] en valores de texto, cuyo valor predeterminado es 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

Incremente los valores numéricos de la columna [B] y conviértalos en valores de texto y convierta 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"]
})