Selección basada en valor

Hasta ahora hemos indicado en el código exactamente la columna y la fila a considerar para seleccionar un valor. Pero no es la única forma. Y es que también podemos seleccionar filas realizando búsquedas. Pongamos un ejemplo. Esta es nuestra tabla:

Tabla

Supongamos que queremos seleccionar la puntuación de George (pero no sabemos en qué fila está George). La búsqueda de una fila se realiza con la notación tabla{[Columna = Valor]}. Es decir, estamos recurriendo a la notación tabla{} que, como ya sabemos, presupone que la tabla es un conjunto de filas organizadas como lista, pero, en lugar de indicar el índice de la fila, imponemos como condición Columna = Valor (entre corchetes). De forma que, para encontrar la fila de George habría que escribir 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{[FirstName = "George"]}
Selección basada en valor

El resultado, tal y como ya sabíamos, es un registro y, por supuesto, si el objetivo era extraer el valor de la columna Score, no tendríamos más que extraer el valor correspondiente a dicha clave:

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