String Col Box: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。こんにちは、
アウトライン文字列のボックスに問題があります。添付画像をご覧ください。 
私の問題は、最初の例のように各文字列を個別に提供できるのではなく、画像内の変数「ListOfStrings」として文字列リストのみを提供できることです。
最初の表のように xyz を 3 つの異なる行に配置する代わりに、同じ行に配置していますが、これは機能しません。
この件に関して私はいかなる指導も受けたいと思います。文字列のリストを提供し、かつ最初のテーブルと同じ出力形式を維持できる必要があります。
自動化とスクリプト作成基本的なデータ分析とモデリングデータアクセスRe: String Col Box: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。また、x、y、x、w が数値の場合、文字列専用であるため、文字列列ボックスでそれらを使用することはできません (文字列に変換する場合は、最初に文字に変換するか、数値列ボックスを使用します)。次のようなエラーメッセージが表示されます
Not a string in access or evaluation of 'String Col Box' , Bad Argument(1), String Col Box/*###*/("names", vals)
Transform Each を使用すると (jmp16+ を使用している場合)、それらを変換する簡単な方法です。
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);
また、一般に、リスト内に変数がある場合、それらは常に評価されるとは限りません。したがって、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: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。@jthiさん、ありがとうございます!上記のメソッドは、私が持っているコードを簡略化したものです。実際のコードは、上記の xyz のように出力する必要があるリストがあります。以下のコードと同じです。 eval関数とchar関数を使ってみました。 Eval はエラーを返しますが、char は最初に提供したようなウィンドウを返し、すべての変数 ( x,y.. ) が 1 行に表示されます。私がやったのは、バッファリストを文字列リストに変換し、 @txnelson が提供したメソッドのように (Eval) を使用して評価することです。
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" )
); とにかく、現在は機能していますが、eval を使用せずにそうする方法はありますか?ちょっと興味があるんだけど。ありがとう。
Re: String Col Box: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。@txnelsonありがとうございます。それは今すぐ機能します!
参考までに:
実際に以前に Eval を使用しましたが、エラー メッセージが返されていました。これは、{} 括弧を使用し、その中に eval 関数を挿入したためであることがわかりました。私はこのコードを使用しました:
String Col Box( "ONLY CHOOSE ONE BLOCK", { Eval (buffer) } );
Re: String Col Box: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。不必要に文字列に変換しているため、そこにリストが取得されます。
Names Default To Here(1);
vals = {"x", "y", "z"};
vals_char = Char(vals);
Show(vals, vals_char, type(vals), type(vals_char));
JMP が引用符をエスケープするため、vals_char の出力はログ上で少し奇妙に見える場合があります (必要に応じて Write() を使用してこれを回避できます)。
@txnelsonが提案したものを使用できますが、Evalは必要ありません(この場合)
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: 文字列のリストを N 個の個別の文字列として String Col Box に渡す方法。Eval() 関数を使用して、JMP に変数 listofStrings を評価させると、変数が変数の値に置き換えられます。
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} )
)
)
);
