String Col Box: So übergeben Sie eine Liste von Strings als N einzelne Strings an eine String Col Box.Hallo,
Ich habe ein Problem mit einem Umriss-String-Col-Feld. Bitte sehen Sie sich das beigefügte Bild an. 
Mein Problem ist, dass ich nicht wie im ersten Beispiel jede Zeichenfolge einzeln bereitstellen kann, sondern nur eine Zeichenfolgenliste als Variable „ListOfStrings“ im Bild bereitstellen kann.
Anstatt xyz wie in der ersten Tabelle in drei verschiedenen Zeilen zu haben, habe ich sie in derselben Zeile, was bei mir nicht funktioniert.
Ich würde jede Anleitung in dieser Angelegenheit leben. Ich muss in der Lage sein, eine Liste von Zeichenfolgen bereitzustellen und trotzdem das gleiche Ausgabeformat wie die erste Tabelle zu haben.
Automatisierung und SkripterstellungGrundlegende Datenanalyse und ModellierungDatenzugriffBetreff: String-Col-Box: Wie übergebe ich eine Liste von Strings als N einzelne Strings an eine String-Col-Box?Und wenn es sich bei Ihren x,y,x,w um Zahlen handelt, können Sie diese nicht im Feld „String Col Box“ verwenden, da es sich nur um Zeichenfolgen handelt (konvertieren Sie sie in diesem Fall zuerst in Zeichen oder verwenden Sie das Feld „Number Col Box“). Sie erhalten eine Fehlermeldung wie
Not a string in access or evaluation of 'String Col Box' , Bad Argument(1), String Col Box/*###*/("names", vals)
Die Verwendung von „Transform Each“ (wenn Sie jmp16+ haben) ist eine einfache Möglichkeit, diese zu konvertieren
Names Default To Here(1);
a = 1;
b = 2;
c = 3;
mylist = {a, b, c};
valsnum = Eval List(mylist);
valstr = Transform Each({curval}, valsnum, Char(curval));
show(valsnum, valstr);
Wenn Sie Variablen in einer Liste haben, werden diese im Allgemeinen möglicherweise nicht immer ausgewertet. Damit Sie sie mit Eval List() auswerten können
Names Default To Here(1);
a = "X";
b = "Y";
c = "Z";
mylist = {a, b, c};
vals = Eval List(mylist);
show(mylist, vals);Betreff: String-Col-Box: Wie übergebe ich eine Liste von Strings als N einzelne Strings an eine String-Col-Box?Danke @jthi ! Die obige Methode ist eine Vereinfachung des Codes, den ich habe. Der eigentliche Code ist, dass ich eine Liste habe, die ich wie das xyz oben ausdrucken muss. Es ist identisch mit dem folgenden Code. Ich habe versucht, Eval- und Char-Funktionen zu verwenden. Eval gibt einen Fehler zurück, aber char gibt ein Fenster wie das von mir ursprünglich bereitgestellte zurück, in dem alle Variablen ( x,y.. ) in einer Zeile stehen. Was ich getan habe, ist, die Pufferliste in eine String-Liste umzuwandeln und sie dann wie mit (Eval) auszuwerten, wie die von @txnelson bereitgestellte Methode.
buffer = {x, y, x, w};
nw = New Window ( "take user input",
<<MODAL></MODAL> nb = Number Col Edit Box(
"",
[0,0,0,0],
targetint = nb << get as matrix;
)
),
bb = Button Box( "OK", targetint = nb << get as matrix ),
Button Box( "Cancel" )
); Wie auch immer, es funktioniert jetzt, aber gibt es eine Möglichkeit, dies zu tun, ohne eval zu verwenden? Nur neugierig. Danke.
Betreff: String Col Box: Wie übergebe ich eine Liste von Strings als N einzelne Strings an eine String Col Box?Danke @txnelson . Es funktioniert jetzt!
Nur als Referenz:
Ich habe Eval tatsächlich schon einmal verwendet, aber es gab eine Fehlermeldung zurück. Mir wurde klar, dass es daran lag, dass ich {}-Klammern verwendet und darin die Funktion eval eingefügt hatte. Ich habe diesen Code verwendet:
String Col Box( "ONLY CHOOSE ONE BLOCK", { Eval (buffer) } );
Betreff: String-Col-Box: Wie übergebe ich eine Liste von Strings als N einzelne Strings an eine String-Col-Box?Sie konvertieren es unnötigerweise in eine Zeichenfolge und deshalb erhalten Sie die Liste dort.
Names Default To Here(1);
vals = {"x", "y", "z"};
vals_char = Char(vals);
Show(vals, vals_char, type(vals), type(vals_char));
Der Ausdruck für vals_char kann im Protokoll etwas seltsam aussehen, da JMP die Anführungszeichen maskiert (Sie können Write() verwenden, um dies bei Bedarf zu vermeiden).
Sie können das verwenden, was @txnelson vorgeschlagen hat, aber Eval sollte (in diesem Fall) nicht notwendig sein.
Names Default To Here(1);
vals = {"x", "y", "z"};
nw = New Window("Example",
Outline Box("Table",
Table Box(
scb = String Col Box("names", vals),
Number Col Box("values", {11, 22, 33}),
Plot Col Box("values", {11, 22, 33})
)
)
);Betreff: String-Col-Box: Wie übergebe ich eine Liste von Strings als N einzelne Strings an eine String-Col-Box?Verwenden Sie eine Eval()-Funktion, damit JMP die Variable listofStrings auswertet und die Variable durch den Wert der Variablen ersetzt.
Names Default To Here( 1 );
listofStrings = {"x", "y", "z"};
New Window( "Example2",
Outline Box( "table2",
Table Box(
String Col Box( "names", Eval( listofStrings ) ),
Number Col Box( "values", {11, 12, 13} ),
Plot Col Box( "values", {11, 12, 13} )
)
)
);
