Wie erstelle ich ein einzelnes Skript, um Daten aus der Datenbank abzurufen, und führe dann meine Analyse mit diesem Datensatz durchHallo alle,
Ich versuche, ein JSL-Skript zu erstellen, das Daten aus einer Datenbank abruft, dann verschiedene Diagramme erstellt und einige Analysen mit diesem Datensatz durchführt. Bis jetzt konnte ich den Database Query Builder verwenden, um die benötigten Daten zu erhalten, aber ich kann nicht dasselbe Skript verwenden, um die benötigten Plots zu erstellen. Als Neuling in der Skripterstellung in JSL scheint dies eine wirklich entmutigende Aufgabe zu sein. Unten ist das Skript, mit dem ich Daten aus 2 Datenbanken abrufen und zusammenführen konnte. Ich möchte diese Datentabelle jedoch speichern und dann Diagramme erstellen.Wenn ich versuche, vor der Abfrage eine Obj-Referenz hinzuzufügen, werden keine Daten zurückgegeben. Irgendwelche Vorschläge?
Am besten,
Debraj
New SQL Query(
Version( 130 ),
Connection(
"ODBC:DSN=Parametric 32;Description=Parametric 32;UID=GUEST;PWD=;APP=JMP;WSID=DEBRAJG-W10LT;"
),
QueryName( "LSO-THK" ),
Select(
Column( "WAFER", "t1" ),
Column( "DATE_TIME", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "LOT", "t1" ),
Column( "TESTER", "t1" ),
Column( "RECEIPE", "t1" ),
Column( "THICKNESS_1", "t1" ),
Column( "THICKNESS_2", "t1" ),
Column( "THICKNESS_3", "t1" ),
Column( "THICKNESS_4", "t1" ),
Column( "THICKNESS_5", "t1" ),
Column( "THICKNESS_6", "t1" ),
Column( "THICKNESS_7", "t1" ),
Column( "THICKNESS_8", "t1" ),
Column( "THICKNESS_9", "t1" ),
Column( "THICKNESS_AVG", "t1" ),
Column( "THICKNESS_STD", "t1" ),
Column( "THICKNESS_MIN", "t1" ),
Column( "THICKNESS_MAX", "t1" ),
Column( "THICKNESS_RANGE", "t1" ),
Column( "OPERATION", "t2" ),
Column( "WIP_MSG_KEY", "t2" ),
Column( "WIP_MSG_LEVEL3", "t2" ),
Column( "WIP_MSG_LEVEL2", "t2" ),
Column( "WIP_MSG_LEVEL1", "t2" )
),
From(
Table( "WFLSOTHK", Schema( "dbo" ), Alias( "t1" ) ),
Table(
"FT_WF_HIST",
Alias( "t3" ),
Join(
Type( Left Outer ),
EQ(
Column(
"DATE_TIME",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
Column(
"DATE_TIME",
"t3",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
)
) & EQ( Column( "LOT", "t1" ), Column( "LOT", "t3" ) )
)
),
Table(
"WF_MESA_WIP_MSG_HIST",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "WAFER", "t1" ), Column( "WAFER", "t2" ) ) &
EQ( Column( "LOT", "t1" ), Column( "LOT", "t2" ) )
)
)
),
Where(
In List(
Column( "OPERATION", "t2" ),
{"O0TS"},
UI( SelectListFilter( ListBox, Base( "Categorical" ) ) )
)
)
) >> Run
AnalytikDatentabelleAndereSkripterstellungBetreff: Wie erstelle ich ein einzelnes Skript, um Daten aus der Datenbank abzurufen, und führe dann meine Analyse mit diesem Datensatz durchEs stellte sich heraus, dass das Problem hauptsächlich auf Namespaces zurückzuführen war. Ich habe etwas herumgegraben und die Lösung in der Zeile unten gefunden.
https://community.jmp.com/t5/Discussions/Getting-a-data-table-reference-from-NewSQLQuery-lt-lt-Run/td-p/187001Betreff: Wie erstelle ich ein einzelnes Skript, um Daten aus der Datenbank abzurufen, und führe dann meine Analyse mit diesem Datensatz durchIch habe Save () auf Include () umgestellt und es funktioniert jetzt gut. Ich bin mir aber nicht sicher warum.......Betreff: Wie erstelle ich ein einzelnes Skript, um Daten aus der Datenbank abzurufen, und führe dann meine Analyse mit diesem Datensatz durchVielen Dank Jim. Es hat funktioniert. Ich glaube, ich habe anfangs das Semikolon nach >>run vermisst, weshalb es sich nicht so verhielt, wie ich es erwartet hatte.
Das Skript wurde jedoch gespeichert und sie produzierten die Plots, die ich beim ersten Mal eingefügt hatte. Wenn ich dann die .csv-Datei lösche und erneut ausführe, wurde die Datei nicht erneut gespeichert und die Kurven nicht gezeichnet. Es verhält sich intermittierend. Es speichert die Datei und zeichnet dann die Kurven ein paar Mal, während es in den meisten anderen Fällen einfach aufhört, nachdem es die Daten aus der Datenbank gezogen hat. Gibt es einen Trick, den ich vermisse, oder einen Parameter, der geändert werden muss? Unten ist der Teil des Codes, den ich der SQL-Datenbankabfrage hinzugefügt habe und der zeitweise funktioniert.
dt = data table("WFLSOTHK");
dt << Save ("C:\path to directory\file_name.csv");
dt << Open ( "C:\path to directory\file_name.csv" );
dt << Fit Group(
Bivariate(
.
.
.
),
Bivariate(
.
.
.
),
<<{Arrange in Rows( 1 )}
)
Betreff: Wie erstelle ich ein einzelnes Skript, um Daten aus der Datenbank abzurufen, und führe dann meine Analyse mit diesem Datensatz durchIch habe keine Datenbank, um dies zu testen, aber ich denke, diese Methode sollte funktionieren.
Names default to here(1);
New SQL Query(
Version( 130 ),
Connection(
"ODBC:DSN=Parametric 32;Description=Parametric 32;UID=GUEST;PWD=;APP=JMP;WSID=DEBRAJG-W10LT;"
),
QueryName( "LSO-THK" ),
Select(
Column( "WAFER", "t1" ),
Column( "DATE_TIME", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "LOT", "t1" ),
Column( "TESTER", "t1" ),
Column( "RECEIPE", "t1" ),
Column( "THICKNESS_1", "t1" ),
Column( "THICKNESS_2", "t1" ),
Column( "THICKNESS_3", "t1" ),
Column( "THICKNESS_4", "t1" ),
Column( "THICKNESS_5", "t1" ),
Column( "THICKNESS_6", "t1" ),
Column( "THICKNESS_7", "t1" ),
Column( "THICKNESS_8", "t1" ),
Column( "THICKNESS_9", "t1" ),
Column( "THICKNESS_AVG", "t1" ),
Column( "THICKNESS_STD", "t1" ),
Column( "THICKNESS_MIN", "t1" ),
Column( "THICKNESS_MAX", "t1" ),
Column( "THICKNESS_RANGE", "t1" ),
Column( "OPERATION", "t2" ),
Column( "WIP_MSG_KEY", "t2" ),
Column( "WIP_MSG_LEVEL3", "t2" ),
Column( "WIP_MSG_LEVEL2", "t2" ),
Column( "WIP_MSG_LEVEL1", "t2" )
),
From(
Table( "WFLSOTHK", Schema( "dbo" ), Alias( "t1" ) ),
Table(
"FT_WF_HIST",
Alias( "t3" ),
Join(
Type( Left Outer ),
EQ(
Column(
"DATE_TIME",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
Column(
"DATE_TIME",
"t3",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
)
) & EQ( Column( "LOT", "t1" ), Column( "LOT", "t3" ) )
)
),
Table(
"WF_MESA_WIP_MSG_HIST",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "WAFER", "t1" ), Column( "WAFER", "t2" ) ) &
EQ( Column( "LOT", "t1" ), Column( "LOT", "t2" ) )
)
)
),
Where(
In List(
Column( "OPERATION", "t2" ),
{"O0TS"},
UI( SelectListFilter( ListBox, Base( "Categorical" ) ) )
)
)
) >> Run;
dt = data table("WF_MESA_WIP_MSG_HIST");
dt << save("Path to save location");
dt << Graph Builder(.............);