제목 : Re : JSL : 행 상태가 작동하지 않는 스크립트JMP의 열 수식은 백그라운드에서 평가됩니다. 복잡한 수식과 행이 많은 테이블의 경우 수식 평가 중에 JMP를 대화 형으로 유지할 수 있습니다. 테이블을 스크롤하고 다른 테이블 및 플랫폼과 작업 할 수 있습니다.
테이블에 << runFormulas 메시지를 보내면 수식은 다른 일이 일어나기 전에 평가를 마칩니다. 대기 (N)를 사용하는 것은 좋은 대답이 아닙니다. 대기 시간을 알 수있는 방법이 없기 때문입니다. 기다려 보았는데 (0) 충분히 길지 않았습니다. 1 초의 대기는 효과가 있었지만 필요 이상으로 길었습니다. << runFormulas는 이미 평가가 완료된 경우 수식을 다시 실행하지 않으므로 JSL 코드를 느리게 만들지 않아도됩니다.
예제에서 JSL은 여전히 실행 중이며 수식 열을 복사 할 때 열 수식을 백그라운드로 처리 할 수있는 기회가 없습니다. 마지막 행을 별도로 실행하면 마지막 행이 실행되기 전에 백그라운드 평가가 수행되므로 행 상태가 계산 된 값으로 업데이트됩니다.
수식이 평가를 끝내야 할 때 JMP는 종종 인식합니다. 예를 들어 새로운 플랫폼을 출시했습니다. << CopyToRowStates는 아직 인식하지 못합니다. 지적 해 주셔서 고마워요.
나는 wait (0)를 사용하여 크래시를 보지 못했다. 크래시가 재현 가능하면 기술 지원부와 협력하여 스크립트를 보내고 보고서 파일을 중단하십시오.
제목 : Re : JSL : 행 상태가 작동하지 않는 스크립트대기 (0); JMP가 충돌합니다. 수식을 작동, 작동합니다.
감사! 그러나, 나는 왜 아직도 내 머리를 얻을 수 없다.
요약하자면:
1) 난수를 만듭니다.
2) 임의의 숫자를 기반으로 행 상태 열을 만듭니다.
3) 행 상태 열을 기반으로 행 상태를 지정합니다.
어떤 특별한 이유 2) 1) 후 '실행 수식'을 지정하지 않고도 실행할 수 있지만 3) 작동하려면 2) 이후에 실행 수식을 지정해야합니다? 논리적 인 이유가 있거나 JSL 스크립팅 언어의 많은 문서화되지 않은 단점입니까?
제목 : Re : JSL : 행 상태가 작동하지 않는 스크립트보내기보십시오 메시지 수식 실행 데이터 테이블에. 이 메시지는 다음 JSL 문으로 진행하기 전에 모든 수식 평가를 완료합니다.
dt << 수식 실행;
그래도 작동하지 않으면 wait (0)을 대신 입력하십시오.
JSL : 작동하지 않는 행 상태를 변경하는 스크립트이 간단한 스크립트를 조합하여 행 상태 열을 만들어 데이터 테이블을 교육, 테스트 및 유효성 검사 하위 집합으로 나눕니다.
그런 다음 끝에 '훈련 세트'행 상태 열에서 행 상태를 복사하는 한 줄의 코드가 있습니다.
이상한 점은 전체 스크립트를 실행하면 행 상태가 복사되지 않는다는 것입니다. 마지막 줄을 제외한 모든 것을 먼저 실행 한 다음 마지막 줄을 별도로 실행하면 작동합니다.
이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 뭔가 빠졌습니까, 아니면 버그입니까?
감사!
New Column( "Random", Numeric, Formula( Random Uniform() ) );
New Column( "Data Set Indicator",
Character,
Formula( If( :Random <= 0.6, "Training", 0.6 < :Random <= 0.8, "Validation", "Test" ) )
);
New Column( "Training set",
Row State,
set formula(
Combine States(
Excluded State( :"Data Set Indicator" != "Training" ),
Hidden State( :"Data Set Indicator" != "Training" )
)
)
);
New Column( "Validation set",
Row State,
set formula(
Combine States(
Excluded State( :"Data Set Indicator" != "Validation" ),
Hidden State( :"Data Set Indicator" != "Validation" )
)
)
);
New Column( "Test set",
Row State,
set formula(
Combine States(
Excluded State( :"Data Set Indicator" != "Test" ),
Hidden State( :"Data Set Indicator" != "Test" )
)
)
);
Column( "Training set" ) << Copy to row states();
다시 : JSL : 작동하지 않는 행 상태를 변경하는 스크립트이 스레드의 결과로 JMP 12부터 << Run Formulas () 메시지가 New Table ()을 사용하여 장면 뒤에서 자동으로 호출됩니다.