Table.ExpandRecordColumn

Partiendo de una tabla con una columna que contiene registros, la función Table.ExpandRecordColumn expande dicha columna en nuevas columnas con los campos de los registros.

Sintaxis

Table.ExpandRecordColumn(
    table as table,
    column as text,
    fieldNames as list,
    optional newColumnNames as nullable list
) as table

Parámetros
  • table: tabla a evaluar
  • column: columna conteniendo los registros a expandir
  • fieldNames: nombres de los campos a extraer de los registros
  • newColumnNames: (opcional) nombres a asignar a las columnas creadas
Información adicional

El campo conteniendo el registro en la tabla original desaparece cuando se expande, y esto con independencia de que se extraigan todos los campos que contiene o no.

Si se añade el cuarto parámetro, newColumnNames, deberá contener un valor para cada uno de los campos extraídos.

Ejemplos

En este ejemplo partimos de la siguiente tabla con dos campos: el primero ("name") conteniendo el nombre de una persona y el segundo, un registro ("location"), conteniendo el país y la ciudad asociados a la persona en cuestión:

let
    Source = Table.FromRecords(
        {
            [name = "Jon", location = [country = "España", city = "San Sebastián"]],
            [name = "Cristina", location = [country = "México", city = "México DF"]]
        }
    )
in
    Source

Función M Table.ExpandRecordColumn

Podemos visualizar el contenido del registro asociado a, por ejemplo, Jon, haciendo clic en el enlace Record que se muestra a la derecha de su etiqueta en la imagen anterior:

Función M Table.ExpandRecordColumn

Podemos ahora extraer los campos que deseemos contenidos en la columna "location" (en este ejemplo vamos a extraer los dos campos que contiene, "country" y "city") con el siguiente código:

let
    Source = Table.FromRecords(
        {
            [name = "Jon", location = [country = "España", city = "San Sebastián"]],
            [name = "Cristina", location = [country = "México", city = "México DF"]]
        }
    )
in
    Table.ExpandRecordColumn(
        Source,
        "location",
        {"country", "city"}
    )

Función M Table.ExpandRecordColumn

Es posible aplicar a las columnas creadas nuevos nombres añadiendo el cuarto parámetro, newColumnNames:

let
    Source = Table.FromRecords(
        {
            [name = "Jon", location = [country = "España", city = "San Sebastián"]],
            [name = "Cristina", location = [country = "México", city = "México DF"]]
        }
    )
in
    Table.ExpandRecordColumn(
        Source,
        "location",
        {"country", "city"},
        {"país", "ciudad"}
    )

Función M Table.ExpandRecordColumn
Categoría
Funciones de tabla
Enviado por admin el Sáb, 05/09/2020 - 10:44