Ausgabe eines Skripts als Eingabe für ein anderesNeu bei JMP: Es wird nach einer Anleitung gesucht, wie Ausgaben von Skriptdatentabellen als Eingaben für ein anderes Skript verwendet werden können.
Ich habe ein Skript entwickelt, das eine benutzerdefinierte Eingabe (Loscode) verwendet, Daten abruft, die auf die Eingabe verweisen, Daten aus mehreren Quellen kombiniert, einige einfache Berechnungen durchführt und eine endgültige Datentabelle ausgibt. Dieses Skript funktioniert gut und macht genau das, was ich für eine Benutzereingabe tun muss. Das Endergebnis ist ungefähr ein Dutzend Spalten und zwischen 4-12 Zeilen.
Jetzt habe ich ein weiteres Skript entwickelt, das eine Liste von Lot-Codes aus einem bestimmten Datumsbereich abruft. Das Endergebnis ist eine Spalte, die zwischen 1-100 und mehr Zeilen liegt, basierend auf der Länge des eingegebenen Datumsbereichs.
Ich möchte, dass jeder dieser Loscodes aus dem zweiten Skript als einzelne Eingaben für das erste Skript verwendet wird. Ich suche nach einer effizienten Möglichkeit, diese beiden Skripte zu kombinieren. Ich denke, es sollte eine einfache Lösung sein, den ersten Loscode aus der ersten Zeile zu holen, ihn durch das erste Skript zu führen und für die 2. Zeile zu wiederholen. Nur nicht ganz sicher, wo ich anfangen soll.
Wenn jemand mich in die richtige Richtung weisen könnte, würde ich es sehr schätzen. Vielen Dank!
Betreff: Ausgabe eines Skripts als Eingabe für ein anderesIch denke, Sie müssen den Code Ihres ersten Skripts in eine Funktion mit Chargencode ändern Ein Wert, der an die Funktion übergeben wird.
Names default to here(1);
firstPGM = Function( {Lot Code}, {default local},
Your first script
);
Your second Script;
Loop across each of the Lot Codes and call the function
For(I=1,i<= lotcodeCount,i++,
xout = firstPGM(LotCode[I]);
);
Betreff: Ausgabe eines Skripts als Eingabe für ein anderesMein Vorschlag ist, den Code zu vereinfachen und ihn Schritt für Schritt auszuführen. Wenn Sie dann auf ein Problem stoßen, können Sie das Skript in die Diskussionsgruppe hochladen, damit die Community Ihr Problem besser sehen und es dann lösen kann.
Betreff: Ausgabe eines Skripts als Eingabe für ein anderesVielen Dank. Auf jeden Fall versuchen zu vereinfachen. Im Moment bin ich hier und versuche, die erste Zeile der Spalte zum Laufen zu bringen. Dann muss ich an der Implementierung der for-Schleife arbeiten.
Ich dachte, ich könnte die Zeilenauswahl durchlaufen und den Lotcode auf die ausgewählte Zeile setzen, aber das scheint nicht zu funktionieren.
// Below replicates output of lot code script<BR />dt=New Table ("Lots",
Add Rows(5),
New Column ("vcLotCode",
Character,
Nominal,
Set Values ({"lcode.0123","12345.4321","dcode.0123","54321.0123","lotcd.4567"})
),
);
<BR />// Attempting to set lot code to values from lot code table<BR />
dt<<SELECT rows="">// Attempting to pull data from database using lot code as lookup variable<BR />
DSNString = "Driver={SQL Server}; SERVER=rpt; DATABASE=FAB; UID=rrpt; ";
sqlStr=
"
select vcLotCode, vcWaferCode, dAvg
from fr.database
where vcLotCode like '"||lotcode||"'
";
dt2 = Eval(Substitute(Expr(dt=Open Database(DataSource,sqlcode,"Data");),Expr(sqlcode),sqlstr,Expr(DataSource),DSNString));</SELECT>Betreff: Ausgabe eines Skripts als Eingabe für ein anderesEntschuldigung, hier:
// Below replicates output of lot code script
dt=New Table ("Lots",
Add Rows(5),
New Column ("vcLotCode",
Character,
Nominal,
Set Values ({"lcode.0123","12345.4321","dcode.0123","54321.0123","lotcd.4567"})
),
);
// Attempting to set lot code to values from lot code table
dt<<SELECT rows=""></SELECT>