String Col Box: 문자열 목록을 N개의 개별 문자열로 String Col Box에 전달하는 방법.안녕,
개요 문자열 열 상자에 문제가 있습니다. 첨부된 이미지를 참조하시기 바랍니다. 
내 문제는 첫 번째 예에서처럼 각 문자열을 개별적으로 제공할 수 있는 대신 이미지에서 문자열 목록을 "ListOfStrings" 변수로만 제공할 수 있다는 것입니다.
첫 번째 테이블에서와 같이 세 개의 다른 행에 xyz를 두는 대신 나에게 작동하지 않는 같은 행에 두었습니다.
나는 이 문제에 대해 어떠한 지침도 따르겠습니다. 문자열 목록을 제공하고 첫 번째 테이블과 동일한 출력 형식을 가질 수 있어야 합니다.
자동화 및 스크립팅기본 데이터 분석 및 모델링데이터 접근Re: String Col Box: 문자열 목록을 N개의 개별 문자열로 String Col Box에 전달하는 방법입니다.x,y,x,w가 숫자인 경우 문자열에만 사용할 수 있으므로 String Col Box에서 사용할 수 없습니다(이 경우 먼저 문자로 변환하거나 Number Col Box를 사용하세요). 다음과 같은 오류 메시지가 표시됩니다.
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.. )가 한 줄에 있는 처음에 제공한 것과 같은 창을 반환합니다. 내가 한 일은 버퍼 목록을 문자열 목록으로 변환한 다음 @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을 사용했지만 오류 메시지가 반환되었습니다. {} 괄호를 사용하고 그 안에 평가 함수를 삽입했기 때문이라는 것을 깨달았습니다. 나는 다음 코드를 사용했습니다.
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} )
)
)
);
