안녕하세요,
나는 "Model for Select PQA and 열".
이 모델은 열 이름의 철자가 있는 모든 데이터 세트에 대해 선택된 각 PQA에 대한 사용자 정의 출력을 생성해야 합니다. 스크립트가 실행되면 사용자에게 특정 열을 선택하라는 팝업이 나타납니다. 이 창은 아래 그림과 같습니다.

다음 창에서는 사용자에게 PQA, 보관 조건을 설정하도록 요청하고 사용자가 각 PQA(보관 조건)에 대한 하위 집합 데이터 세트를 볼지 여부를 묻습니다. 즉, 선택한 각 PQA에 대해 하위 집합 데이터 세트가 백그라운드에서 생성됩니다. 그런 다음 모델 및 그래프 결과가 생성된 다음 for 루프를 반복할 때마다 사용자 정의되고 형식이 지정된 데이터(LSL 및 USL y축 선과 측정값이 포함된 y축 레이블 포함)가 있는 창에 추가됩니다.

위에서 언급한 창의 사용자 입력에 따라 출력을 생성하는 JSL 스크립트 코드는 다음과 같습니다.
//select the data in the original data table
Names Default To Here( 1 );
dt = Current Data Table();
//get the unique PQAs
col9 = Column(dt, "PQA");
unique_pqa = Associative Array( col9 ) << get keys;
/////////////////////////////////////////////////////////////
//User Selection Menu(s)
/////////////////////////////////////////////////////////////
//Part 1: ask user for column names in a new window nw1
//possible Group column name (should be character)
character_col_names = dt << Get Column names(character, String);
//possible result column name (should be numeric)
numeric_col_names = dt << Get Column names(Numeric, String);
nw1 = New Window("Column names",
<<MODAL></MODAL>
출력 창이 생성되면 모든 데이터(하위 집합 데이터가 의존하는)가 포함된 원본 데이터 테이블에 스크립트를 저장할 수 있기를 원합니다. 그러나 모든 출력에 대한 스크립트를 스크립트 창에 저장하면 다음과 같은 결과가 나타납니다.
주목하세요
Where ( :PQA == pqa_val & column(listDT, set_storage_condition_col) == selected_stor_cond )
명령문은 스크립트 작동을 허용하지 않습니다.
이 스크립트의 이 명령문이 특정 출력을 갖기를 원합니다. 예를 들어 제가 첨부한 장난감 데이터세트에서
column(listDT, set_storage_condition_col)
동일하다 :보관상태
또한 A를 pqa_val ( 하도록 하다 :PQA == "A" ) 및 5C를 selected_stor_cond (하도록 하다 :보관 조건 == "5C" ).
그러나 사용자 입력을 언급하더라도 생성된 출력 스크립트는 존재하지 않습니다. JMP가 위 예와 같이 루프의 각 특정 인스턴스에 대한 스크립트에 이러한 값을 기록하지 않는 이유는 무엇입니까?
정말 감사합니다. 나는 Eval() 및 관련 사용에 대해 생각조차하지 않았습니다. 이에 대해 더 자세히 읽어보고 귀하가 제공한 링크를 살펴보겠습니다.
Eval Insert, Eval Expr, Parse 및 Substitute를 사용하여 하나의 표현식을 다른 표현식에 삽입합니다. 당신을 도와야합니다. 또한 << 모달 창을 사용하는 경우 버튼을 누를 때 창 닫기가 필요하지 않습니다.
where 문 주위와 내부에 Eval(EvalExpr()) 하나와 Expr() 몇 개를 추가했습니다.:
더보기...