Wie erstelle ich Benutzereingaben für SQL-wo-Filter?Also verwende ich ein 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 die Verwendung für ppl zu erleichtern.
Ich stelle mir eine Liste mit Popups vor, um sie dann einer Variablen zuzuordnen, 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 );
/****************************************************************************************************/
AndereSkriptingBetreff: Wie erstellt man Benutzereingaben für SQL, wo Filter?Dies ist auf jeden Fall möglich. Abhängig von Ihren Programmierkenntnissen mit jsl und davon, wie kompliziert das System sein wird (wenn es nur um das Filtern mit einfachen Where-Klauseln geht, könnte es ziemlich einfach sein).
Ein paar Dinge zum Nachdenken:
- Verwenden Sie Vorlagenstring und dann Eval Insert, um dort Werte hinzuzufügen (oder einfach Strings miteinander zu verketten).
- Wie möchten Sie mit like/= umgehen? Anzeigefelder (Optionsfeld, Kontrollkästchen, Kombinationsfeld) oder vielleicht ein bestimmtes Zeichen im Textbearbeitungsfeld, das anzeigt, wie der Text geparst wird?
- Wie gehe ich mit mehreren ähnlichen Bedingungen um (Filter1 wie etwas oder Filter2 wie etwas)?
- Wie geht man nicht 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 ist ein sehr einfaches Beispiel für die Verwendung von Vorlagenzeichenfolgen und dann die 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 ziemlich ähnliches System gebaut, das vollständige SQL-Abfragen erstellt, abhängig von Benutzereingaben und Auswahlmöglichkeiten in einer Benutzeroberfläche (und ich schreibe derzeit vollständig neu, wenn ich Zeit habe, weil es zu schwierig wurde, es zu erweitern).
Betreff: Wie erstellt man Benutzereingaben für SQL, wo Filter?Das geht ganz einfach mit dem SQL-Abfrage-Generator .
In den Filtern gibt es eine Option in den Filters to Prompt on Run und JMP wird Sie dazu auffordern. Sie müssen keine eigenen Dialoge erstellen.

Lesen Sie mehr und gehen Sie durch ein Beispiel in Erstellen Sie eine SQL-Abfrage .