Table.FromRecords

La función Table.FromRecords devuelve una tabla a partir de una lista de registros.

Sintaxis

Table.FromRecords(
    records as list,
    optional columns as any,
    optional missingField as nullable number
) as table

Parámetros
  • records: lista de registros que van a formar las filas de la tabla
  • columns: (opcional) tipos de las columnas
  • missingField: (opcional) criterio a seguir cuando se encuentren valores inexistentes
Información adicional

Los nombres de los campos se incluyen sin comillas. Éstos deberán ser los mismos en todos los registros (es el primer registro el que establece los nombres de los campos que deberán aparecer en el resto de registros).

El argumento missingField puede tomar los valores MissingField.ErrorMissingField.UseNull (no puede tomar el valor MissingField.Ignore).

Ejemplos

En este ejemplo estamos creando una tabla con tres campos: "id", "name" y "age"

Table.FromRecords(
    {
        [id = 15, name = "John", age = 35],
        [id = 21, name = "Alfonso", age = 58],
        [id = 33, name = "Marta", age = 22]
    }
)

Table

Función M Table.FromRecords

Un clic en el enlace Table nos muestra la tabla creada:

Función M Table.FromRecords

Podemos especificar los tipos de las columnas añadiendo esta información como segundo argumento:

Table.FromRecords(
    {
        [id = 15, name = "John", age = 35],
        [id = 21, name = "Alfonso", age = 58],
        [id = 33, name = "Marta", age = 22]
    },
    type table[
        id = Number.Type,
        name = Text.Type,
        age = Number.Type
    ]
)

Table

Función M Table.FromRecords

La tabla resultante es la siguiente:

Función M Table.FromRecords

Los nombres de los campos deberán ser los mismos en todos los registros. En el siguiente ejemplo no es así (el segundo registro no incluye el campo "age" e incluye el campo "height"):

Table.FromRecords(
    {
        [id = 15, name = "John", age = 35],
        [id = 21, name = "Alfonso", height = 182],
        [id = 33, name = "Marta", age = 22]
    }
)

Table

Función M Table.FromRecords

En este caso, los registros cuyos campos no coincidan con los del primer registro aparecen con errores:

Función M Table.FromRecords

Podemos controlar el tratamiento que se va a dar a los valores inexistentes con el argumento missingField. Si éste toma el valor MissingField.Error, la función Table.FromRecords devolverá un error cuando se encuentre uno de estos valores.

En el siguiente ejemplo el segundo registro no incluye el campo "age", por lo que la tabla resultante incluye -al igual que en el ejemplo anterior, errores en los valores de este registro:

Table.FromRecords(
    {
        [id = 15, name = "John", age = 35],
        [id = 21, name = "Alfonso"],
        [id = 33, name = "Marta", age = 22]
    },
null,
MissingField.Error
)

Table

Función M Table.FromRecords

La tabla resultante es la siguiente:

Función M Table.FromRecords

Éste es el comportamiento por defecto.

Si, por el contrario, añadimos el argumento MissingField.UseNull, los valores inexistentes se sustituirán por valores nulos:

Table.FromRecords(
    {
        [id = 15, name = "John", age = 35],
        [id = 21, name = "Alfonso"],
        [id = 33, name = "Marta", age = 22]
    },
null,
MissingField.UseNull
)

Table

Función M Table.FromRecords

La tabla resultante en este caso es la siguiente:

Función M Table.FromRecords
Categoría
Funciones de tabla
Enviado por admin el Dom, 02/08/2020 - 17:24