Table.RenameColumns

La función Table.RenameColumns modifica el nombre de las columnas de una tabla.

Sintaxis

Table.RenameColumns(
    table as table,
    renames as list,
    optional missingField as nullable number
) as table

Parámetros
  • table: tabla en la que renombrar las columnas
  • renames: lista de listas conteniendo el nombre actual y el nuevo nombre
  • missingField: (opcional) criterio a seguir cuando se indiquen nombres de columnas inexistentes
Información adicional

El nombre actual de la columna y el nuevo nombre se indican en forma de lista con la siguiente forma:

{"nombre-actual", "nuevo-nombre"}

Si solo se desea cambiar el nombre de una columna, el parámetro renames puede consistir simplemente en dicha lista. Si de desea modificar el nombre de más de una columna, hará falta una lista como la indicada para cada columna, e incluir estas listas como elementos de otra lista. Es decir, el argumento renames tomaría la siguiente forma:

{
    {"nombre-actual", "nuevo-nombre"},
    {"nombre-actual", "nuevo-nombre"},
    {"nombre-actual", "nuevo-nombre"}
}

Se trataría, por tanto, de una lista de listas, una por columna. También puede usarse esta estructura de lista de listas aun cuando solo se desee cambiar el nombre de una columna.

Si alguno de los nombres actuales no existe, la función devuelve un error salvo que se incluya el parámetro missingField. Éste puede tomar los valores MissingField.Error, MissingField.UseNull o MissingField.Ignore.

En el caso de que se use el valor MissingField.UseNull, la columna inexistente se crea y se rellena con valores nulos.

Ejemplos

En este ejemplo partimos de la siguiente tabla:

let
    table = Table.FromRecords(
        {
            [id = 15, name = "John", country = "USA"],
            [id = 21, name = "Alfonso", country = "Japan"],
            [id = 33, name = "Marta", country = "Portugal"]
        }
    )
in
    table

Función M Table.RenameColumns

Los nombres de las columnas son "id", "name" y "country". Podemos modificar "name" por "nombre", por ejemplo, con el siguiente código:

let
    table = Table.FromRecords(
        {
            [id = 15, name = "John", country = "USA"],
            [id = 21, name = "Alfonso", country = "Japan"],
            [id = 33, name = "Marta", country = "Portugal"]
        }
    )
in
    Table.RenameColumns(
        table,
        {"name", "nombre"}
    )

Función M Table.RenameColumns

Es posible cambiar el nombre de más de una columna, o incluso de todas ellas:

let
    table = Table.FromRecords(
        {
            [id = 15, name = "John", country = "USA"],
            [id = 21, name = "Alfonso", country = "Japan"],
            [id = 33, name = "Marta", country = "Portugal"]
        }
    )
in
    Table.RenameColumns(
        table,
        {
            {"country", "país"},
            {"name", "nombre"},
            {"id", "identificador"}
        }
    )

Función M Table.RenameColumns

Obsérvese que no es necesario incluir la lista de nombres de columnas a cambiar en el orden en el que se presentan en la tabla.

Si alguna de las columnas no existe pero incluimos el tercer argumento, podemos gestionar la forma en la que responde la función. En el siguiente ejemplo cambiamos el nombre de una columna que no existe ("city") pero le indicamos a la función que ignore los posibles errores:

let
    table = Table.FromRecords(
        {
            [id = 15, name = "John", country = "USA"],
            [id = 21, name = "Alfonso", country = "Japan"],
            [id = 33, name = "Marta", country = "Portugal"]
        }
    )
in
    Table.RenameColumns(
        table,
        {
            {"country", "país"},
            {"name", "nombre"},
            {"id", "identificador"},
            {"city", "ciudad"}
        },
        MissingField.Ignore
    )

Función M Table.RenameColumns
Categoría
Funciones de tabla
Enviado por admin el Mié, 26/08/2020 - 15:32