Come creare input utente per SQL dove filtra?Quindi sto usando un ODBC per connettermi a SNOWFLAKE ed eseguire alcuni script. Mi chiedo come posso impostare una finestra dell'interfaccia utente con un elenco di filtri WHERE per semplificare l'utilizzo da parte di ppl.
Sto immaginando un elenco con popup da mappare a una variabile da inserire nello script SQL. possibile?

//**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 );
/****************************************************************************************************/
Accesso ai datiRi: Come creare input utente per SQL where filtri?Questo è facile da fare con il Generatore di query SQL .
Nei filtri c'è un'opzione nei filtri per richiedere all'esecuzione e JMP richiederà per te. Non è necessario creare i propri dialoghi.

Leggi di più ed esamina un esempio in Crea una query SQL .
Ri: Come creare input utente per SQL where filtri?Questo è sicuramente possibile. Dipende molto dalle tue capacità di codifica con jsl e da quanto sarà complicato il sistema (se sarà solo dove filtrare con semplici clausole where, potrebbe essere abbastanza semplice da fare).
Un paio di cose a cui pensare:
- Usa la stringa del modello e poi Eval Insert per aggiungere valori lì (o semplicemente concatenare le stringhe insieme).
- Come vuoi gestire like/=? Caselle di visualizzazione (casella di opzione, casella di controllo, casella combinata) o forse qualche carattere specifico nella casella di modifica del testo che indicherebbe come analizzare il testo?
- Come gestire in e più condizioni simili (filter1 come qualcosa o filter2 come qualcosa)?
- Come gestire il no?
- La finestra modale ti offre un modo semplice per gestire il flusso di script
- Pensa a come il sistema potrebbe essere ampliato in seguito
- La Guida allo scripting e l'Indice dello scripting saranno di grande aiuto. Anche la Guida di JMP ti aiuterà con diverse caselle di visualizzazione.
Di seguito è riportato un esempio molto semplice sull'utilizzo della stringa modello e quindi sull'utilizzo di eval insert per creare l'SQL finale.
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>
Ho creato un sistema abbastanza simile, che crea query SQL complete in base agli input e alle scelte dell'utente in un'interfaccia utente (e attualmente lo sto riscrivendo completamente quando ho tempo, perché espanderlo è diventato troppo difficile).