String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Salut,
J'ai un problème avec une boîte de couleur de chaîne de contour. Veuillez consulter l'image ci-jointe. 
Mon problème est qu'au lieu de pouvoir fournir chaque chaîne individuellement comme dans le premier exemple, je ne peux fournir qu'une liste de chaînes en tant que variable "ListOfStrings" dans l'image.
Au lieu d'avoir xyz sur trois lignes différentes comme dans le premier tableau, je les ai dans la même ligne, ce qui ne fonctionne pas avec moi.
Je vivrais n'importe quelle orientation dans cette affaire. Je dois être en mesure de fournir une liste de chaînes tout en conservant le même format de sortie que le premier tableau.
Automatisation et scriptsAnalyse et modélisation des données de baseAccès aux donnéesRe : String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Et si vos x, y, x, w sont des nombres, vous ne pouvez pas les utiliser dans String Col Box car c'est uniquement pour les chaînes (convertissez-les d'abord en caractères si tel est le cas ou utilisez Number Col Box). Vous recevrez un message d'erreur comme
Not a string in access or evaluation of 'String Col Box' , Bad Argument(1), String Col Box/*###*/("names", vals)
Utiliser Transform Each (si vous avez jmp16+) est un moyen simple de les convertir
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);
De manière générale également, si vous avez des variables dans une liste, celles-ci risquent de ne pas toujours être évaluées. Vous pouvez donc les évaluer avec Eval List()
Names Default To Here(1);
a = "X";
b = "Y";
c = "Z";
mylist = {a, b, c};
vals = Eval List(mylist);
show(mylist, vals);Re : String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Merci @jthi ! La méthode ci-dessus est une simplification du code dont je dispose. Le code réel est que j'ai une liste que je dois imprimer comme le xyz ci-dessus. C'est identique au code ci-dessous. J'ai essayé d'utiliser les fonctions eval et char. Eval renvoie une erreur, mais char renvoie une fenêtre comme celle que j'ai fournie initialement où toutes les variables ( x,y.. ) sont sur une seule ligne. Ce que j'ai fait, c'est convertir la liste de tampons en une liste de chaînes, puis l'évaluer en utilisant (Eval) comme la méthode fournie par @txnelson .
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" )
); Quoi qu'il en soit, cela fonctionne maintenant, mais existe-t-il un moyen de le faire sans utiliser eval ? Juste curieux. Merci.
Re : String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Merci @txnelson . Ça fonctionne maintenant!
Juste pour référence :
En fait, j'ai déjà utilisé Eval, mais il renvoyait un message d'erreur. J'ai réalisé que c'était parce que j'avais utilisé des crochets {} et inséré la fonction eval à l'intérieur. J'ai utilisé ce code :
String Col Box( "ONLY CHOOSE ONE BLOCK", { Eval (buffer) } );
Re : String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Vous le convertissez inutilement en chaîne et c'est pourquoi vous obtenez la liste ici.
Names Default To Here(1);
vals = {"x", "y", "z"};
vals_char = Char(vals);
Show(vals, vals_char, type(vals), type(vals_char));
L'impression de vals_char peut paraître un peu bizarre dans le journal car JMP échappe aux guillemets (vous pouvez utiliser Write() pour éviter cela si vous en avez besoin).
Vous pouvez utiliser ce que @txnelson a suggéré, mais Eval ne devrait pas être nécessaire (dans ce cas)
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})
)
)
);Re : String Col Box : comment transmettre une liste de chaînes à une String Col Box sous forme de N chaînes individuelles.Utilisez une fonction Eval() pour que JMP évalue la variable listofStrings et il remplacera la variable par la valeur de la variable.
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} )
)
)
);
