JSL-Fehler in JMP14 JMP 13-Skripte schlagen fehlIch habe erhebliche Probleme beim Versuch, eine Reihe von JSL-Skripten in JMP 14 auf einem Kollegen-Terminal auszuführen, das in JMP 13 funktioniert hat. Die folgenden Probleme sind aufgetreten:
- dt = Current Data Table () scheint nur einmal zu funktionieren. Ich muss immer wieder identifizieren, was dt ist, oder dt << in Current Data Table () << ändern.
- Mein BatchID-Tag schlägt weiterhin mit folgendem Fehler fehl:
Spalte BatchID-Formel unterbrochen
Name ungelöst: Gruppe 1 Mal In Zeilen: 2 Operation: Gruppe, Gruppe / * ### * /
Fehler bei der Formelbewertung wurden ignoriert - Der obige Fehler tritt bei jeder Tag-Gruppe / Jahr / Woche auf, wenn ich die vorherige Tag-Variable entferne.
Clear Symbols();
//Before running this script, be sure to Recode any problems in the AliasName column.
//Enter the abbreviation for your Group, the year "YY", and the Week # "WW" for the experiment.
New Window("Experiment Details",
<<MODAL></MODAL>Bei Bedarf kann ich einen Ausschnitt aus der Datentabelle veröffentlichen.
Siehe den unten angegebenen Code
Betreff: JSL-Fehler in JMP14 JMP 13-Skripte schlagen fehlJeff, danke für den Rat bezüglich der Syntax, ich werde dies in zukünftige Skripte integrieren. Ich bin mir immer noch nicht sicher, was zuvor im Skript vor sich geht, was dazu führt, dass das BatchId-Tag fehlschlägt. Ich warte immer noch auf meinen Zugriff auf JMP 14, damit ich den Code auf meinem eigenen Computer testen kann.
Betreff: JSL-Fehler in JMP14 JMP 13-Skripte schlagen fehlEs tut mir leid, dass Sie hier Schwierigkeiten haben.
Im Allgemeinen ist es keine gute Praxis, sich auf Current Data Table () zu verlassen, und es ist normalerweise ziemlich einfach zu vermeiden.
In Ihrem speziellen Fall rechnen Sie damit, dass das Ergebnis Ihres Split zur aktuellen Datentabelle wird. Wie Sie festgestellt haben, ist dies nicht garantiert.
dt << Split( Split By( :Loops ), Split( :PV ), Group( :Datetime, :BatchID ), Remaining Columns( Keep( :EFT ) ) );
Stattdessen sollten Sie das Ergebnis der Aufteilung in Ihre Variable dt erfassen.
dt = dt << Split(
Split By( :Loops ),
Split( :PV ),
Group( :Datetime, :BatchID ),
Remaining Columns( Keep( :EFT ) )
);
//This sorts the data according to BatchID and then time.
//No longer need to set dt because it's already set above
//dt = Current Data Table();
dt = dt << sort( Replace table, By( BatchID ), Order( Ascending ) );