¿Cómo crear entradas de usuario para SQL donde se filtran?Así que estoy usando un ODBC para conectarme a SNOWFLAKE y ejecutar algunos scripts. Me pregunto cómo puedo configurar una ventana de interfaz de usuario con una lista de filtros DÓNDE para que sea más fácil de usar para las personas.
Estoy imaginando una lista con ventanas emergentes para luego asignar una variable para alimentar el script SQL. ¿posible?

//**SNOWFLAKE QUERY****************************************************************************************************
uid = Get Environment Variable( "USERNAME" );
sql_state="
/********************************/
SELECT distinct
column1
,column2
,etc
from Database
WHERE 1=1
and filter1 like '%qwerty%'
and filter2 in ('a', 'b', 'c')
--and filter3 = '54168'
--and filter4 <> 'that_thing'
--and filter5 not in ('group1','group2')
and Date >= CURRENT_DATE - 30 /*go back 30 days*/
";
snowflake_spc = Open Database( "DSN=SNOWFLAKE1;UID=account;PWD=password;", sql_state );
/****************************************************************************************************/
Otrosecuencias de comandosRe: ¿Cómo crear entradas de usuario para SQL donde se filtran?Esto se hace fácilmente con el Generador de consultas SQL .
En los filtros, hay una opción en los filtros para solicitar al ejecutar y JMP se lo solicitará. No es necesario crear sus propios diálogos.

Lea más y analice un ejemplo en Cree una consulta SQL .
Re: ¿Cómo crear entradas de usuario para SQL donde se filtran?Esto es definitivamente posible. Dependiendo mucho de sus habilidades de codificación con jsl y de lo complicado que será el sistema (si solo se filtrará con cláusulas where simples, podría ser bastante simple de hacer).
Un par de cosas para pensar:
- Use la cadena de plantilla y luego Eval Insert para agregar valores allí (o simplemente concatenar cadenas juntas).
- ¿Cómo quieres manejar like/=? Cuadros de visualización (cuadro de selección, cuadro de verificación, cuadro combinado) o tal vez algún carácter específico en el cuadro de edición de texto que indicaría cómo analizar el texto.
- ¿Cómo manejar múltiples condiciones similares (filtro1 como algo o filtro2 como algo)?
- ¿Cómo manejar no?
- La ventana modal le brinda una manera fácil de manejar el flujo de secuencias de comandos
- Piense en cómo podría expandirse el sistema más adelante.
- La Guía de secuencias de comandos y el Índice de secuencias de comandos serán de gran ayuda. Además, la ayuda de JMP ayudará con diferentes cuadros de visualización.
A continuación, se muestra un ejemplo muy simple sobre el uso de una cadena de plantilla y luego el uso de la inserción de evaluación para construir el SQL final.
Names Default To Here(1);
sqlTemplate = "\[
select *
from *
where 1=1
^filter1Str^
^filter2Str^
]\";
filter1Str = "";
filter2Str = "";
rbSel = {"like", "in", "=", "not in", "not like"};
ex = New Window("Dialog() example",
<<MODAL></MODAL>
Creé un sistema bastante similar, que genera consultas SQL completas según las entradas y las opciones del usuario en una interfaz de usuario (y actualmente estoy reescribiéndolo por completo cuando tengo tiempo, porque expandirlo se volvió demasiado difícil).