En las aplicaciones de AppSheet los usuarios siempre tienen que rellenar formularios y por esto tenemos que ofrecerle una mejor experiencia de usuario. Una de las tareas más comunes, es por ejemplo seleccionar un cliente desde una lista desplegable.
Pero los datos en las tablas no están ordenados y esto para el usuario sería una tarea tediosa encontrar el cliente deseado además cuando hay cientos de registros.
Estos datos vienen desde las tablas DIM (tablas de dimensiones o tablas catálogos) y siempre estos tipos de tablas están relacionadas a otras tablas de tipo FACT (tablas de hechos).
Cuando hay una relación entre dos tablas, en la tabla FACT (Pedidos) tenemos que especificar el tipo de columna referenciada como Ref y especificar la tabla dónde está relacionado, en este caso la tabla Clientes.
En cambio, en la tabla DIM (Clientes), AppSheet crea automáticamente una columna virtual de tipo List que unen estas dos tablas entre ellas y nos proporciona un listado con todos los registros relacionados desde la tabla FACT (Pedidos).
Se que es un poco confuso, pero con la práctica lo vais a entender.
Para ordenar los valores de un campo de tipo Ref en el orden alfabético, tenemos que acceder a la tabla de tipo FACT (Pedidos), luego clicamos en la columna referenciada (en este caso es Cliente) que queramos ordenar y en el apartado Data Validity – Valid If ponemos la siguiente expresión:
Explicando la expresión, primero creamos una lista con todos los nombres de los clientes que tiene un ID válido y luego ordenamos esta lista en orden alfabético.
Para que se muestra los nombres de los cliente en la lista desplegable, tenemos que poner el campo Nombre como LABEL.
Así de simple, espero que os sea de utilidad.
Pero los datos en las tablas no están ordenados y esto para el usuario sería una tarea tediosa encontrar el cliente deseado además cuando hay cientos de registros.
Estos datos vienen desde las tablas DIM (tablas de dimensiones o tablas catálogos) y siempre estos tipos de tablas están relacionadas a otras tablas de tipo FACT (tablas de hechos).

Cuando hay una relación entre dos tablas, en la tabla FACT (Pedidos) tenemos que especificar el tipo de columna referenciada como Ref y especificar la tabla dónde está relacionado, en este caso la tabla Clientes.


En cambio, en la tabla DIM (Clientes), AppSheet crea automáticamente una columna virtual de tipo List que unen estas dos tablas entre ellas y nos proporciona un listado con todos los registros relacionados desde la tabla FACT (Pedidos).
Se que es un poco confuso, pero con la práctica lo vais a entender.

Para ordenar los valores de un campo de tipo Ref en el orden alfabético, tenemos que acceder a la tabla de tipo FACT (Pedidos), luego clicamos en la columna referenciada (en este caso es Cliente) que queramos ordenar y en el apartado Data Validity – Valid If ponemos la siguiente expresión:
ORDERBY(
SELECT(Clientes[ID],TRUE),[Nombre],FALSE
)

Explicando la expresión, primero creamos una lista con todos los nombres de los clientes que tiene un ID válido y luego ordenamos esta lista en orden alfabético.
Para que se muestra los nombres de los cliente en la lista desplegable, tenemos que poner el campo Nombre como LABEL.

Así de simple, espero que os sea de utilidad.