Verwenden einer Variablen für mehrere BefehleHallo zusammen,
Ich suche nach einer Möglichkeit, anstelle der einzelnen Befehle anstelle der mehreren Befehlszeilen eine Variable zu verwenden. Wenn ich dies ausführe, öffnet sich das Stapelfenster, anstatt die anderen in der Variable enthaltenen Befehle auszuführen. Ich habe auch versucht, Kombinationen von EVAL() und PARSE() zu verwenden, aber ohne bessere Ergebnisse.
Ich entschuldige mich, wenn die von mir verwendete Terminologie nicht korrekt ist.
Vielen Dank für jede Hilfe!
test_variable = "columns( :Column1, :Column2 ),
Source Label Column( \!"Label\!" ),
Stacked Data Column( \!"Data\!" ),
Move Columns( To First ),
Output Table ( \!"Test Output Table\!" )";
current data table () << Stack (test_variable);
Automatisierung und SkriptingBetreff: Verwenden einer Variablen für mehrere Befehle
@jthi schrieb:
Normalerweise können Sie sie auch auf andere Weise (mit Ausdrücken) erstellen, als nur mit Zeichenfolgen (und ich würde sagen, wenn Sie können, sollten Sie das tun).
Ein Ansatz besteht darin, einen Platzhalter ( _cols_ ) zu verwenden und ihn dann durch Ihren vorkonfigurierten Ausdruck zu ersetzen ( substituieren ), wie hier:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = Expr(Columns(:height, :weight));
mycommand = Expr(current data table () << Stack (_cols_, Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Move Columns( To First ),
Output Table ( "Test Output Table" )));
Eval (Substitute ( Name Expr(mycommand),Expr(_cols_), Name Expr (cols) ))
Eine gewisse „Magie“ mit Expr() und Name Expr() ist erforderlich, um zu verhindern, dass JMP Ausdrücke zum falschen Zeitpunkt ausführt [ Expr() ] – und um Zugriff auf den Ausdruck ( Name Expr() ) zu erhalten, der in einer Variablen ( Name ) gespeichert ist, statt auf den Namen selbst.
Auf den ersten Blick wird ein Benutzer entscheiden, dass es besser ist, auf diesen Overhead zu verzichten – oder Eval(Parse(String)) als Fallback-Lösung zu verwenden. Aber es ist eine gute Idee, hier etwas Zeit zu investieren, z. B. mit Hilfe dieser großartigen Vorlesung:
Mit JSL effiziente und robuste Anwendungen entwickeln (EU 2018 415)
Betreff: Verwenden einer Variablen für mehrere BefehleNormalerweise können Sie sie auch auf andere Weise (mit Ausdrücken) erstellen, als nur mit Zeichenfolgen (und ich würde sagen, wenn Sie können, sollten Sie das tun).
Betreff: Verwenden einer Variablen für mehrere BefehleIch habe den Stapel gewählt, weil er mir als einfacheres Beispiel für das erschien, was ich erreichen wollte. Letztendlich wollte ich eine Variable verwenden, die als Ersatz für einen Befehlstextblock beim Formatieren einer Reihe von Kontrolldiagrammen verwendet werden kann.
Betreff: Verwenden einer Variablen für mehrere BefehleWas genau versuchen Sie zu tun? Dieselben Auswahlen mehrmals im Stapel verwenden?