안녕하세요,
그래서 저는 매우 간단한 작업을 시도하고 있지만 행 선택에서 이상한 동작이 발생합니다.
그래서 혼합물 설계 데이터가 있는 표를 얻었습니다. 저는 12개의 서로 다른 혼합 성분에 대한 12개의 컬럼을 가지고 있습니다. 각 라인에 대해 comp A, comp B, comp C라는 세 가지 구성 요소가 있는지 알려주는 세 개의 열이 있습니다.
실행은 A에서 K까지의 문자로 명명된 시리즈로 분할되었습니다. 여러 적합 모델을 한 번에 실행하는 스크립트를 만들고 싶습니다. 그러기 위해서는 올바른 행으로 하위 테이블을 만들어야 합니다. 기본적으로 :Series 열을 사용하여 각 시리즈를 하나씩 선택합니다. 내 문제는 단일 구성 요소가 있는 라인도 있다는 것입니다. 다음 스크립트를 만들었습니다.
Names Default To Here( 1 );
Delete Symbols();
mytable = Current Data Table();
Serieslist = {} ;
For Each Row(
If(
:Series !="X" & !Contains item (:Series, Serieslist),
Serieslist = Insert (Serieslist, :Series)
);
);
mytable << clear selected row states ();
Letter = Serieslist [1];
mytable << Row Selection( Select where (:Series == Letter) );
S1 = :Comp A[mytable<<GET selected="" rows=""></GET>이제 올바른 선으로 선택하려고 하면 제대로 작동하지 않습니다. 많은 Print() 명령을 사용하여 내 값이 올바른지 확인했습니다.
이제 다음 코드를 확인하십시오.
</CODE></PRE><P> </P><PRE><CODE class=" language-jsl">mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[2]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[3]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[2]), current selection ("extend") );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[3]), current selection ("extend") );
mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == "comp 6"), current selection ("extend") );
wait (2);
mytable << Row Selection( Select where (:Ref == "comp 12"), current selection ("extend") );
처음 세 명령어는 올바른 행을 선택합니다. 하지만 여러 행을 선택하려고 하면 현재 선택("확장") 인수, 작동하지 않습니다. 내가 뭔가를 놓치고 있습니까?
마지막 줄에서 select where() 인수에 수동으로 값을 쓰면 작동하지만 코드가 '=='에 대한 평가를 수행해야 할 때 작동이 중지됩니다. 누구든지 해결책이 있습니까? 이 작업을 수행하는 더 좋은 방법이 있다고 확신하지만 여전히 작동하지 않는 이유를 이해하고 싶습니다. Eval Parse와 관련이 있습니까?
스크립트와 함께 데이터 테이블을 첨부했습니다.
행 선택을 사용하면 현재 선택을 사용할 때 값을 평가해야 하는 것 같습니다. Eval Insert, Eval Expr, Parse 및 Substitute를 사용하여 한 표현식을 다른 표현식에 삽입 . 대신 << Select Where 로 변경해 볼 수 있습니다.
mytable << Select where(:Ref == complist[1]);
Wait(2);
mytable << Select where(:Ref == "comp 6", current selection("extend"));
Wait(2);
mytable << Select where(:Ref == "comp 12", current selection("extend"));