추가 기능과 스크립트로 JSL을 실행하는 중에 이상한 오류가 발생했습니다.안녕하세요 여러분,
추가 기능으로 변환한 스크립트를 작성했습니다. 마지막으로 사용했을 때(2023년 11월경)에는 모든 것이 훌륭하게 작동했습니다. 다시 실행하고 있는데 추가 기능으로 실행할 때 발생하는 매우 이상한 오류/실수가 발생하지만 작동하지 않습니다. JSL 파일을 자체적으로 실행할 때는 이런 일이 발생하지 않습니다.
따라서 스크립트는 일부 모델링을 실행하고 각 튜닝 실행 결과를 그래픽과 테이블로 표시하는 출력 창을 생성합니다. 출력은 다음과 같습니다(스크립트 자체에서 실행됨).

출력 창은 모델링 플랫폼에서 모든 적합 통계를 수집하는 데이터 테이블에서 생성됩니다.

다시 한 번 말씀드리지만, 스크립트는 훌륭하게 작동하며 예상되는 모든 작업을 수행합니다. 그런 다음 이를 jmpaddin 파일로 만들어 JMP에 설치하면 문제가 발생하고 코드가 혼란스러워지며 출력 테이블을 참조하는 대신 내가 사용하고 있는 Y와 X가 포함된 원래 데이터 테이블로 돌아갑니다. 모델링을 위해. 결과적으로 출력 창의 그래프 빌더 부분이 비어 있고 JMP에서 :Tune Run 열이 존재하지 않는다는 오류가 발생합니다(원래 데이터 테이블에는 없지만 출력 데이터 테이블에는 있습니다). ).
이것은 동일한 종류의 모델링에 대한 출력이지만 JSL 대신 추가 기능으로 실행합니다. 그래프 빌더는 없습니다.

그리고 JMP 홈 창의 창 목록으로 이동하면 추가 기능으로 실행한 인스턴스의 경우 원본 데이터 테이블 T20-XL에서 Bootstrap Forest Results 창이 생성된 것을 볼 수 있습니다. 따라서 당연히 해당 데이터 테이블에는 Tune Run 열이 없습니다. 그러나 직접 JSL로 실행하면 의도한 대로 요약 출력 데이터 테이블에서 출력 창(Bootstrap Forest Results 2)이 올바르게 생성됩니다.

내가 얻는 오류는 다음과 같습니다.

그리고 로그 보고서에는 다음이 표시됩니다.


무엇이 잘못되었는지, 왜 추가 기능 버전이 예상했던 요약 출력 데이터 테이블 대신 원본 데이터 테이블을 사용하려고 하는지 알 수 없습니다. 또한 JSL 파일에서 직접 실행하는 것이 왜 작동하는지 이해하지 못하지만 추가 기능으로는 전혀 작동하지 않습니다.
다른 사람이 이 문제를 겪은 적이 있나요? 그렇다면 어떻게 수정했고, 애초에 어떻게 이런 일이 일어났는지 알아낼 수 있었나요?
감사해요!,
DS
자동화 및 스크립팅데이터 탐색 및 시각화예측 모델링 및 기계 학습윈도우Re: JSL을 추가 기능과 스크립트로 실행하는 중에 이상한 오류가 발생했습니다.그래프 빌더 메시지를 특정 데이터 테이블로 보낼 수 있나요?
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
dt << 그래프 빌더(...
Re: JSL을 추가 기능과 스크립트로 실행하는 중에 이상한 오류가 발생했습니다.안녕하세요 @jthi 님 ,
예, 가능합니다. 하지만 문제는 뭔가 다른 것, 즉 메모리 할당 및 할당에 관한 것 같습니다.
그렇게 생각하는 이유는 내 컴퓨터에서 두 개의 JMP Pro 인스턴스를 실행하고 있기 때문입니다. 그래서 두 개의 JMP Home Windows가 있습니다. 원본과 홈 창 이름에 [2]가 추가된 또 다른 Windows입니다. JMP의 두 번째 인스턴스에서 추가 기능을 실행하려고 하면 오류가 발생하지만 JMP의 첫 번째 인스턴스에서 실행할 때는 오류가 발생하지 않습니다. JMP의 두 번째 인스턴스를 실행할 때 올바르게 처리하지 못하는 버그가 있는 것 같습니다.
예전에는 이렇게 하지 않았습니다. 저는 종종 두 개의 JMP 인스턴스를 실행합니다. 하나는 백그라운드에서 데이터 작업을 하고 다른 하나는 사람들이 제게 제공한 새로운 데이터를 작업하는 데 사용됩니다. 두 번째 인스턴스에서 모델링을 실행하려고 합니다. jmp 파일을 두 번 클릭하면 해당 파일이 JMP의 첫 번째 인스턴스에서 열리고 모델링이 다른 인스턴스의 백그라운드에서 실행되는 상태에서 작업할 수 있습니다. . JMP의 최신 업데이트에서는 이전에 이런 문제가 발생하지 않았기 때문에 문제가 발생한 것 같습니다.
감사해요!,
DS
Re: JSL을 추가 기능으로 실행하는 것과 스크립트로 실행하는 것의 이상한 오류.애드인을 어떻게 빌드하고 계신가요? 네임스페이스를 강제로 적용하면 애드인으로 실패하는 건가요? (하지만 왜 더 일찍 일어나지 않았는지 잘 모르겠네요)

Re: JSL을 추가 기능으로 실행하는 것과 스크립트로 실행하는 것의 이상한 오류.안녕하세요 @jthi ,
저는 평소처럼 애드인을 빌드합니다. .def 파일을 만들고 설치한 다음, 필요에 따라 애드인의 도구 모음을 변경합니다. 저는 항상 하던 대로 애드인을 실행하고 있습니다. "Here" 네임스페이스를 체크 해제하거나 체크 해제해서 변경해 보았지만, 문제가 해결되지 않는 것 같습니다.
다시 확인해 보니 이제 JMP 단일 인스턴스에서 애드인을 실행할 수 없습니다. 계속 같은 오류가 발생합니다. @Craige_Hales 님 이 댓글로 달아주신 내용 때문일 수도 있지만, 그렇다면 문제를 해결하는 방법이나 애드인이 제대로 작동하지 않는 부분이 갑자기 변경된 이유를 잘 모르겠습니다. 앞서 말씀드린 것처럼 JSL은 정상적으로 작동합니다.
감사해요!,
디에스
Re: JSL을 추가 기능으로 실행하는 것과 스크립트로 실행하는 것의 이상한 오류.또한 버그 또는 기능??을 참조하십시오. 추가 기능에 대한 평가 컨텍스트가 나중에 사용되는 것과 동일하지 않은 것 같습니다...하지만 설명으로는 확신할 수 없습니다.JMP의 현재 데이터 테이블은 평가 컨텍스트 내에서 알려져 있습니다.일반적으로 스크립트가 사용하는 평가 컨텍스트가 하나 있으며 JSL 창이나 플랫폼 창에 속합니다.추가 기능 스크립트는 둘 다 없이 실행되므로 일시적인 평가 컨텍스트를 제공합니다.추가 기능 스크립트가 끝나면(대부분 끝에서 실행됨) 일시적인 평가 컨텍스트가 사라집니다.창이 열려 있고 해당 창의 버튼이 더 많은 스크립트를 실행하는 경우 이전 창에 대해 알지 못하는 창의 평가 컨텍스트를 사용합니다.
Re: JSL을 애드인으로 실행하는 것과 스크립트로 실행하는 것의 이상한 오류.안녕하세요 @크레이지_헤일스 ,
말씀하신 내용에서 문제가 발생한 것 같습니다. 제 코드가 생성하는 최종 결과 창에는 모델 피팅 재실행이나 코드 재시작과 같은 특정 작업을 수행하는 버튼이 있습니다. 그리고 JSL 파일은 원활하게 실행되지만 애드인은 그렇지 않은 것으로 보아, 말씀하신 eval 관련 문제인 것 같습니다.
이해가 안 되는 건 왜 전에는 안 됐는데 지금은 왜 안 되는 건지입니다. 게다가, 애초에 무슨 문제가 있었는지도 모르겠고 이 문제를 어떻게 해결해야 할지도 모르겠습니다. 말씀하신 대로 2023년 10월쯤까지는 아무 문제 없이 잘 작동했습니다.
제 코드는 기본적으로 사용자 상호작용에 따라 호출되고 실행되는 Expr() 함수들의 집합입니다. 오류를 재현할 수 있는지 확인하고 싶으시면 코드를 공유해 드리겠습니다.
이 문제를 일으킬 수 있는 JMP 환경 설정이 변경되었을 가능성이 있을까요? JSL 대신 애드인으로 실행하는 것을 선호하기 때문에 이 문제를 해결할 방법을 찾는 것이 좋겠습니다.
감사해요!,
디에스