Extrahieren Sie mithilfe von JSL Daten aus einem ODBC in eine TabelleHallo
Neu bei JSL ...
Es wurde versucht, eine JMP-Datentabelle zu erstellen, die Daten aus einem ODBC enthält. Ich benötige nur Werte nach einem bestimmten Datum und nur bestimmte Produkte.
Mein aktuelles Skript für ein Produkt sieht folgendermaßen aus:
SELECT * FROM "LIMS". "SAMPLE" WHERE LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ',' TT-MM-JJJJ ') AND LIMS.SAMPLE.PRODUCT =' 12345ABC '
Wie kann ich mit einem solchen Skript mehr als ein Produkt, z. B. drei Produkte 12345ABC, 23456ACD, 1234ABCD, in meine Tabelle aufnehmen?
Beste,
M
Betreff: Extrahieren von Daten aus einem ODBC in eine Tabelle mithilfe von JSLHallo MBL,
Ich würde Sie ermutigen, den Abfrage-Generator in JMP zu verwenden. Wenn Sie die gewünschten Ergebnisse für die Abfrage erhalten haben, generieren Sie die Tabelle, kopieren Sie das Quellenskript aus dem Ergebnis und fügen Sie es in Ihre JSL ein. Dies erleichtert den gesamten Vorgang erheblich.
Wenn Sie mit der folgenden SQL fortfahren möchten, würden Sie meines Erachtens Folgendes tun:
SELECT * FROM "LIMS". "SAMPLE" WHERE LIMS.SAMPLE.DATE> = aktuell ('17 -01-2015 ',' TT-MM-JJJJ ') AND (LIMS.SAMPLE.PRODUCT IN (' 12345ABC ',' 23456ACD ',' 1234ABCD '))
Brian Corcoran
JMP-Entwicklung
Betreff: Extrahieren von Daten aus einem ODBC in eine Tabelle mithilfe von JSLHier ist eine Möglichkeit, SQL zu generieren. Der Trick besteht darin, mit der Funktion Concat Items eine IN-Liste zu erstellen. Ich verwende auch evalinsert und \ [...] \, damit doppelte Anführungszeichen sauber in den String eingefügt werden können.
prod_list = {"12345ABC", "23456ACD", "1234ABCD"};
in_list = "('" || Concat Items(prod_list, "','") || "')";
sql = evalinsert(
"\[SELECT * FROM "LIMS"."SAMPLE"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ^in_list^)]\");
show(in_list, sql);
Ergebnisse im Protokollfenster:
in_list = "('12345ABC','23456ACD','1234ABCD')";
sql = "SELECT * FROM \!"LIMS\!".\!"SAMPLE\!"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ('12345ABC','23456ACD','1234ABCD'))";