Selección de columnas

El segundo enfoque para interpretar una tabla es considerarla un conjunto de columnas. En este caso, el resultado es un registro que tiene como claves los nombres de las columnas, y como valores, listas formadas por los valores de las columnas:

Selección de columnas en una tabla

Ya sabemos que podemos extraer el valor asociado a un registro con la notación registro[nombre-de-campo] (lo que explica que la referencia a una columna se haga con la notación tabla[columna]).

Extraigamos, por ejemplo, la columna LastName:

let
    data = #table(
        type table[
            FirstName = text,
            LastName = text,
            Score = number
        ],
        {
            {"John", "Smith", 14},
            {"Susan", "McGregor", 9},
            {"George", "Smith", 21}
        }
    )
in
    data[LastName]
Selección de columnas en una tabla

Si quisiéramos confirmar el tipo del valor devuelto, podemos volver a recurrir a la función Value.Type:

let
    data = #table(
        type table[
            FirstName = text,
            LastName = text,
            Score = number
        ],
        {
            {"John", "Smith", 14},
            {"Susan", "McGregor", 9},
            {"George", "Smith", 21}
        }
    )
in
    Value.Type(data[LastName])
list
Tipo de una columna

Y, de forma semejante a como ocurría en el escenario anterior, una vez que extraemos el valor de un registro (la columna con formato de lista), podemos seleccionar un valor de la lista con la notación Lista{índice}. Por ejemplo, para extraer el apellido de Susan (cuyo índice es 1) no tendríamos más que hacerlo con el siguiente código:

let
    data = #table(
        type table[
            FirstName = text,
            LastName = text,
            Score = number
        ],
        {
            {"John", "Smith", 14},
            {"Susan", "McGregor", 9},
            {"George", "Smith", 21}
        }
    )
in
    data[LastName]{1}
McGregor
Selección de un valor de la tabla