Wie erstelle ich Benutzereingaben für SQL mit Filtern?Ich verwende also einen ODBC, um eine Verbindung zu SNOWFLAKE herzustellen und einige Skripte auszuführen. Ich frage mich, wie ich ein UI-Fenster mit einer Liste von WHERE-Filtern einrichten kann, um es für Benutzer einfacher zu verwenden.
Ich stelle mir eine Liste mit Popups vor, die dann einer Variablen zugeordnet werden, um sie in das SQL-Skript einzuspeisen. möglich?

//**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 );
/****************************************************************************************************/
DatenzugriffBetreff: Wie erstelle ich Benutzereingaben für SQL mit Filtern?Das geht ganz einfach mit dem SQL-Abfrage-Generator .
In den Filtern gibt es eine Option für die Eingabe einer Eingabeaufforderung bei der Ausführung, und JMP wird für Sie eine Eingabeaufforderung ausgeben. Sie müssen keine eigenen Dialoge erstellen.

Lesen Sie mehr und gehen Sie ein Beispiel durch Erstellen Sie eine SQL-Abfrage .
Betreff: Wie erstelle ich Benutzereingaben für SQL mit Filtern?Das ist durchaus möglich. Das hängt stark von Ihren Programmierkenntnissen mit jsl ab und davon, wie kompliziert das System sein wird (wenn es sich nur um eine Wo-Filterung mit einfachen Where-Klauseln handelt, könnte dies recht einfach sein).
Ein paar Dinge, über die Sie nachdenken sollten:
- Verwenden Sie die Vorlagenzeichenfolge und dann Eval Insert, um dort Werte hinzuzufügen (oder verketten Sie einfach Zeichenfolgen miteinander).
- Wie möchten Sie mit like/= umgehen? Anzeigefelder (Optionsfeld, Kontrollkästchen, Kombinationsfeld) oder vielleicht ein bestimmtes Zeichen im Textbearbeitungsfeld, das angibt, wie der Text analysiert werden soll?
- Wie gehe ich mit in- und mehreren ähnlichen Bedingungen um (Filter1 mag etwas oder Filter2 mag etwas)?
- Wie gehe ich damit um?
- Das modale Fenster bietet Ihnen eine einfache Möglichkeit, den Skriptfluss zu verwalten
- Überlegen Sie, wie das System später erweitert werden könnte
- Scripting Guide und Scripting Index werden eine große Hilfe sein. Auch die JMP-Hilfe hilft bei verschiedenen Anzeigefeldern.
Unten finden Sie ein sehr einfaches Beispiel für die Verwendung einer Vorlagenzeichenfolge und die anschließende Verwendung von eval insert zum Erstellen der endgültigen SQL.
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>
Ich habe ein recht ähnliches System erstellt, das abhängig von Benutzereingaben und Auswahlmöglichkeiten in einer Benutzeroberfläche vollständige SQL-Abfragen erstellt (und wenn ich Zeit habe, überarbeite ich es derzeit vollständig, da es zu schwierig war, es zu erweitern).