목록 표현식은 첫 번째 값만 평가합니다JMP15 롤아웃에서 작동하지 않는 스크립트로 복구하려고합니다.
관심있는 열 번호를 포함하는 List 변수가 있습니다.
ListofColumns= List(8,12,7,14);
목록의 각 열에 대해 단일 창에서 일련의 제어 차트를 생성하려고합니다.
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(eval(ListofColumns)))
);
이 코드를 실행하면 열 8에 대한 적절한 제어 차트가 생성되지만 다른 열은 생성되지 않습니다.
반면에, 수동으로 목록을 넣으면 네 개의 관리도 모두 올바르게 생성됩니다.
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(8,12,7,14))
);
컨트롤 차트 빌더 전에 코드 작업에 사용되었습니다. 그리고 나는 간단한 것을 놓치고 있다고 확신합니다. 도움을 주셔서 감사합니다!
스크립팅다시 : 목록 식은 첫 번째 값만 평가합니다JMP 11로 코드를 다시 테스트했으며 코드가 동일하게 작동한다는 것을 알았습니다. 아래는 내가 추악한 해결책이라고 생각하는 사람이며 누군가 더 나은 해결책이 있기를 바랍니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/blood pressure.jmp" );
ListofColumns = List( 8, 4, 7, 5 );
Eval(
Parse(
"Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y( "
|| Substr(
Char( listofcolumns ),
2,
Length( Char( listofcolumns ) ) - 2
) || " )
));"
)
);
다시 : 목록 식은 첫 번째 값만 평가합니다팁 고마워. 그러나 나는 목록의 각 값을 반복하면서 다른 접근 방식을 취했습니다.
For( j = 1, j <= N Items(ListofColumns), j++, //step through the row numbers of interest
WinHandle3 << append (Control Chart( //append the control chart to existing window
Sample Label( :Lot_Number ), // using legacy Control Chart platform allows sample label use
Group Size( 1 ),
KSigma( 3 ),
Chart Col(
ListofColumns[j],
Individual Measurement,
Moving Range
)));
); // close the for loop.
방금 각 차트를 기존 창에 추가했습니다. 또한 X 축에서 의미없는 순차 번호 대신 샘플 레이블을 지정하려고했기 때문에 (개선 된?) 컨트롤 차트 빌더 대신 레거시 컨트롤 차트 플랫폼을 사용하기로 변경했습니다. 위의 스크립트가 작동하는 것 같습니다.