Verbinden von Tabellen innerhalb der AbfragefunktionHallo,
Ich kenne mich mit JSL-Skripten ziemlich gut aus, obwohl ich einige benutzerdefinierte SQL-Abfragen habe, die ich im Abfrage-Generator geschrieben habe. Ich versuche, diese Abfragen in ein JSL-Skript einzufügen, ohne sie mit der JOIN-Funktion neu schreiben zu müssen
Kann ich die Tabellen in der Funktion Query() verknüpfen?
Zum Beispiel dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dr = Open( "$RANDOM_DATA/Small Class.jmp" );
Unten ist, was ich versuche/schätze, wie der Code aussehen sollte
ERGEBNIS = ABFRAGE (dt, dr, "SELECT *
VON 'Big Class' BC
JOIN 'Small Class' SC on SC.name = BC.name;");
Die einzigen Beispiele, die ich gefunden habe, waren die Abfragefunktion, die mit 1 Tabelle verwendet wurde.
Danke,
David
Betreff: Tabellen innerhalb der Abfragefunktion verknüpfenDanke schön!
Betreff: Tabellen innerhalb der Abfragefunktion verknüpfenDanke schön!Betreff: Tabellen innerhalb der Abfragefunktion verknüpfenUnd wie bei den anderen Tabellengenerierungsplattformen in JMP: Wenn Sie die interaktive Plattform interaktiv ausführen und dann in den „Source“-Eintrag im Tabellenbereich der neuen Datentabelle schauen, sehen Sie das JSL-Skript, das zum Generieren der Datentabelle.Hier ist das Skript aus dem Source-Eintrag, für das Join-Beispiel that @cwillden bereitgestellt
New SQL Query(
Connection( "JMP:RESTRICT=Y;UUID=4E866C55-4F0A-45D4-EBE9AE92DC4D8FB7" ),
JMP Tables(
["t1" => "C:\Program Files\SAS\JMPPRO\13\Samples\Data\SATByYear.jmp",
"t2" => "C:\Program Files\SAS\JMPPRO\13\Samples\Data\US Demographics.jmp"]
),
QueryName( "SQLQuery1" ),
CustomSQL(
"SELECT t1.State, t1.\!"SAT Math\!", t2.\!"College Degrees\!",
t2.\!"Eighth Grade Math\!"
FROM t1
LEFT OUTER JOIN t2
ON t1.State = t2.State
WHERE t1.'SAT Math' > 550;
"
)
) << RunBetreff: Tabellen innerhalb der Abfragefunktion verknüpfenDie Query()-Funktion im Scripting-Index hat tatsächlich ein nettes Beispiel dafür, was Sie wollen:
// Using aliases, performing a join
dtSAT = Open(
"$SAMPLE_DATA/SATByYear.jmp",
Invisible
);
dtUS = Open(
"$SAMPLE_DATA/US Demographics.jmp",
Invisible
);
Query(
Table( dtSAT, "t1" ),
Table( dtUS, "t2" ),
"\[SELECT t1.State, t1."SAT Math", t2."College Degrees",
t2."Eighth Grade Math"
FROM t1
LEFT OUTER JOIN t2
ON t1.State = t2.State
WHERE t1.'SAT Math' > 550;
]\"
);