Wie gebe ich in der Split-Datentabellenfunktion eine Variable in "Remaining Columns" ein?Hallo,
Ich erstelle ein Skript, bei dem der Benutzer Spalten über eine GUI eingibt und das Skript dann die Eingabetabelle aufteilt und einige Korrelationsdiagramme erstellt. Die Benutzereingabe ist derjenigen sehr ähnlich, die die reguläre JMP-Split-Funktion benötigt. Mein Code zum Aufteilen sieht etwas weiter unten aus, wo remcol = "Drop all" oder remcol="Keep all", je nach Benutzereingabe.
Splitdt = dt << Split(
Split(Eval(parcollist)), // the column to split
Group(Eval(grpcollist)),
ColID(Eval(splitcoln)),
Remaining Columns(<FONT color="#FF0000">Eval(RemCol)</FONT>),
Output Table Name((dt<<GET name=""></GET>Das obige Skript funktioniert nicht, aber das funktioniert.
Splitdt = dt << Split(
Split(Eval(parcollist)), // the column to split
Group(Eval(grpcollist)),
ColID(Eval(splitcoln)),
Remaining Columns(<FONT color="#FF0000">"Drop all"</FONT>),
Output Table Name((dt<<GET name=""></GET>Nun ist meine Frage, wie gebe ich die Benutzereinstellung für die verbleibenden Spalten als Variable ein? Wenn ich die Variable eingebe, funktioniert es nicht, aber das Eintippen würde funktionieren. Leider würde dies die Flexibilität des Skripts nehmen, deshalb bevorzuge ich die Verwendung von Variablen als Eingabe.
Danke,
Schaira
Betreff: Wie gebe ich in der Funktion "Datentabelle teilen" eine Variable in "Remaining Columns" ein?Danke @gzmorgan0 ! Das ist sehr hilfreich.
Ich verwende JMP12, aber ich glaube, ich habe alte Dokumentation gelesen, deshalb habe ich ColID verwendet.
Obwohl für den RemCol-Ausdruck die Char()-Funktion nicht funktionierte. Was funktionierte, war der folgende Ausdruck:
RemColExpr=Expr(Parse("Keep("||Concat Items(ColSellist,",")||")"))Betreff: Wie gebe ich in der Funktion "Datentabelle teilen" eine Variable in "Remaining Columns" ein?Welche Version von JMP verwenden Sie?Ich weiß, dass JMP 9 und höher Split By() im Vergleich zu Col ID() verwenden
Wenn Sie eine viel ältere Version von JMP haben, bin ich mir nicht sicher, ob dies funktioniert.
Eval( EvalExpr( Splitdt = dt << Split(
Split(Expr(parcollist)), // the column to split
Group(Expr(grpcollist)),
ColID(Expr(splitcoln)),
Remaining Columns(Expr(RemCol)),
Output Table Name((dt<<GET name=""></GET>Sie cal halten die Eval() um die "Listen"-Variablen, aber ich habe Expr() verwendet, um die Syntax konsistent zu machen.
Hinweis: Wenn Sie sich dafür entscheiden, Benutzern zu erlauben, Spalten auszuwählen, die beibehalten werden sollen, gehe ich davon aus, dass es eine Liste mit Namen oder Spaltenreferenzen namens keepColList geben würde. Dann können Sie so etwas verwenden, um die verbleibenden Spalten mit dem obigen Skript zu definieren.
remcol = Expr(Parse("Keep(" ||char(keepColList) || ")"));