Expresión SELECT() en AppSheet – Guía Completa para Extraer y Filtrar Información de Tablas

Expresión SELECT() en AppSheet – Guía Completa para Extraer y Filtrar Información de Tablas
AppSheet

La función SELECT() en AppSheet te permite extraer valores específicos de una columna, pero solo si cumplen ciertas condiciones. Es una de las expresiones más poderosas y versátiles, muy útil cuando quieres filtrar datos de una tabla y devolver resultados en forma de lista.

Con SELECT() puedes crear resúmenes, listas dinámicas, validaciones, conteos y mucho más.

Una forma sencilla de usarla es así:

SELECT(Pedidos[Producto], [ClienteID] = [_THISROW].[IDCliente])

📌 Esta fórmula extrae los productos comprados por el cliente:

  • Pedidos[Producto]: Indica que queremos obtener los valores de la columna Producto de la tabla Pedidos.
  • [ClienteID] = [_THISROW].[IDCliente]: Es el filtro. Solo se seleccionan los productos de los pedidos cuyo ClienteID coincida con el cliente actual (es decir, la fila actual de la tabla Clientes).
Expresión SELECT para extraer productos de una tabla de pedidos

Obtener los IDs de los pedidos de un cliente con SELECT()

En este caso, queremos mostrar los ID de los pedidos realizados por un cliente específico, usando esta fórmula:

SELECT(Pedidos[IDPedido], [ClienteID] = [_THISROW].[IDCliente])

Fíjate que esta expresión sigue la estructura básica para extraer datos con SELECT(). Solo cambiamos dos cosas:

  • La columna que queremos obtener: aquí es IDPedido en lugar de Producto.
  • La condición: en este ejemplo, mantenemos la misma, filtrando los pedidos cuyo ClienteID coincida con el cliente actual.

Esta flexibilidad hace que SELECT() sea una función muy poderosa y fácil de adaptar a distintos escenarios, simplemente modificando la columna a extraer y las condiciones para filtrar.

Obtener los IDs de los pedidos de un cliente con SELECT()

Filtrado avanzado con SELECT() usando condiciones múltiples

Supongamos que en la tabla Pedidos tienes una columna llamada Estado, donde se registran los diferentes estados de cada pedido: Pendiente, Entregado y Cancelado.

Con la función SELECT(), podemos crear filtros más precisos para extraer listas según esos estados. Por ejemplo, para obtener solo los pedidos que están en estado Pendiente, usamos esta fórmula:

SELECT(
  Pedidos[IDPedido],
  AND(
    [ClienteID] = [_THISROW].[IDCliente],
    [Estado] = "Pendiente"
  )
)

¿Qué hace esta fórmula?

  • Primero, filtra los pedidos para que coincidan con el cliente actual ([ClienteID] = [_THISROW].[IDCliente]).
  • Segundo, solo extrae los pedidos cuyo estado sea "Pendiente".
Filtrado avanzado con SELECT() usando condiciones múltiples

Crear listas separadas para cada estado

Si quieres separar y mostrar los pedidos según su estado, puedes crear columnas virtuales diferentes, cada una con una expresión similar pero cambiando el valor del estado:

SELECT(Pedidos[IDPedido], AND([ClienteID] = [_THISROW].[IDCliente], [Estado] = "Entregado"))

Y otra para los pedidos cancelados:

SELECT(Pedidos[IDPedido], AND([ClienteID] = [_THISROW].[IDCliente], [Estado] = "Cancelado"))

De esta forma tendrás tres listas claras y filtradas por cada estado para cada cliente.

Crear listas separadas para cada estado con select en appsheet

Uniendo SELECT() con otras funciones: Count, Sum y más

Una de las grandes ventajas de la función SELECT() en AppSheet es que puede combinarse fácilmente con otras funciones para realizar cálculos dinámicos y personalizados.

Por ejemplo, si combinamos SELECT() con COUNT(), podemos saber cuántos elementos cumplen una condición específica. Esta lógica también funciona con funciones como SUM(), MAX(), MIN() y muchas más.

Veamos un caso concreto usando COUNT() para saber cuántos pedidos ha realizado un cliente:

COUNT(SELECT(Pedidos[IDPedido], [ClienteID] = [_THISROW].[IDCliente]))

Esta expresión:

  • Filtra los pedidos del cliente actual.
  • Cuenta cuántos pedidos hay en esa lista.

Este mismo patrón lo puedes usar para sumar montos, contar elementos filtrados por estado, o incluso para calcular promedios, usando funciones como SUM() o AVERAGE() junto a SELECT().

Uniendo SELECT() con otras funciones: Cuenta, Suma y más

📥 Base de Datos para Practicar

Haz clic en el siguiente enlace para acceder a la hoja de cálculo (base de datos) que utilizamos en este curso. Recuerda que debes hacer una copia en tu propio Google Drive para poder editarla y conectarla a tu app en AppSheet.

➡️ Haz clic aquí para abrir la base de datos
(Sigue el ejemplo que ves en la imagen de abajo para hacer tu copia correctamente)

Base de Datos para Practicar – Curso de Expresiones en AppSheet
guest
0 Comentarios
más antiguo
El más nuevo Más votado
Comentarios en línea
Ver todos los comentarios

2025© Cursos Aspiazu | Hecho por Miguel Aspiazu

Scroll al inicio
0
Me encantaría conocer tu opinión, por favor comenta.x