Desplegable de parámetros para group_id en la consulta de data explorer

Me encantaría poder especificar algo como esto:

-- [params]
-- groups.id :group_id

para obtener una entrada de parámetro que sea un menú desplegable de grupos. He llamado al valor group_id aquí porque supongo que eso es lo que tal menú desplegable me daría.

4 Me gusta

Creo que esto también sería muy útil. :+1: Algo como el parámetro seleccionable user_id existente pero para grupos. Aún mejor si pudiera aceptar varios valores. :slight_smile:

4 Me gusta

Espera, ¿qué?

¿Puedes indicarme dónde muestra cómo usar eso?

1 me gusta

Puedes usar algo como:

-- [params]
-- user_id :user

SELECT *
FROM posts
WHERE user_id =:user
LIMIT 5

Y eso mostrará un menú desplegable donde podrás autocompletar un usuario. :+1:

Sin embargo, acabo de notar que la primera vez que lo ejecutas, en este momento da un error y no muestra el cuadro de parámetros, pero sí lo hace si actualizas la página. Veré si puedo conseguir que alguien lo revise. :slight_smile:

4 Me gusta

Pide (y espera) y recibirás… acabamos de añadir soporte para un parámetro :group_list en este PR.

Aquí tienes un ejemplo de la función en uso:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

Eso debería darte lo siguiente en la interfaz de usuario:

8 Me gusta

Esto se ve genial. :star_struck: Ya estoy deseando poner esto en práctica. :rocket:

3 Me gusta

Mi tema Mi tema se cerró antes de que pudiera responder…

¿Hay alguna forma de limitar el nuevo tipo de parámetro -- group_list a un solo grupo? Lo he sustituido en nuestros informes existentes, pero todos están escritos esperando un solo nombre de grupo y, en las pruebas, me encontré cometiendo errores con bastante frecuencia.

Lo he vuelto a abrir y lo he deslizado. :+1:

Aunque no estoy seguro de a qué te refieres. ¿Puedes dar un ejemplo de cuál es el problema?

1 me gusta

Quiero decir que ejecuto la consulta para mi primer grupo. Luego, cuando quiero cambiar de grupo, agrego un grupo en su lugar → error

1 me gusta

Oooh. Esa es interesante. La he estado usando más como:


WHERE g.name IN (:groups)

Ocultando un poco de Jammy Stupid

WHERE g.id IN (:groups)

Aunque esto todavía te permitiría poner más de uno por accidente, aunque evitarías el error. :thinking:

Prefiero el error a una selección aleatoria de la lista :slight_smile:

1 me gusta

Para ser sincero, acabo de comprobarlo y creo que debo haber soñado que lo usaba para group_ids, ya que no le gusta nada. Lo borraré de los registros. :slight_smile: No tengo ni idea de dónde saqué esa idea. Podría jurar que lo usé hace poco. :derp:

1 me gusta

Por cierto, olvidé decir:

¡¡¡Esto es fabuloso!!! :confetti_ball: ¡¡¡Gracias!!! :tada:

3 Me gusta

No, no hay forma de limitarlo a un solo grupo. Al menos que yo sepa.

El parámetro de group_list será una matriz si se selecciona más de 1 elemento y una cadena si solo se selecciona 1 elemento.

Por lo tanto, cuando solo hay un elemento, puedes hacer esto:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name = :groups
ORDER BY g.name ASC

Pero como es una matriz, lo siguiente funcionará tanto para un solo elemento como para varios:

-- [params]
-- group_list :groups

SELECT g.id,g.name
FROM groups g
WHERE g.name IN (:groups)
ORDER BY g.name ASC

Pero no hay forma de decirle a la interfaz de usuario “solo acepta 1 elemento como selección”.

1 me gusta

Los docs de @saradev aquí Utilizing Parameters in Data Explorer Queries resaltan la lista completa de parámetros para el explorador de datos que a veces tienen un menú desplegable y a veces no. (Lista de parámetros en Github)

Aquí hay una tabla de parámetros, que también indica si tienen un control específico para ellos.

parámetro menú desplegable disponible
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date
time
datetime
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
string_list
category_id
group_id
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

Idealmente, los menús desplegables utilizados y que se muestran en el explorador de datos tendrían una apariencia similar a la aplicación principal. Averigüemos cómo podemos hacer esto.

6 Me gusta

Recientemente rediseñamos todo el cuadro de entrada de parámetros. La mayoría de los tipos tienen sus propios cuadros desplegables y ahora admiten validación con indicaciones de error semánticas. :chefs_kiss:


Aquí está la última tabla de parámetros que indica si tiene un control específico para ello.

parámetro desplegable disponible
int :white_check_mark:
bigint :white_check_mark:
boolean :white_check_mark:
null boolean :white_check_mark:
string :white_check_mark:
date :white_check_mark:
time :white_check_mark:
datetime :white_check_mark:
double :white_check_mark:
user_id :white_check_mark:
post_id
topic_id
category_id :white_check_mark:
group_id :white_check_mark:
int_list
string_list
user_list :white_check_mark:
group_list :white_check_mark:

@ganncamp Quizás quieras saber sobre este cambio :wink:

9 Me gusta

¿Puedes explicar cómo funcionan estos menús desplegables? Por más que lo intento, no he podido crear un menú desplegable donde pueda definir una lista de cadenas de texto disponibles en ese menú desplegable.

1 me gusta

@jordan-violet una respuesta tardía, pero @SaraDev escribió aquí sobre los parámetros disponibles, y el OP fue actualizado por Linca:

2 Me gusta