다른 스크립트로 데이터 테이블에 jsl 스크립트 로드안녕,
각 보고서에 여러 그래프가 포함된 별도의 보고서를 생성하는 스크립트(XXX.jsl)가 여러 개 있습니다. 그리고 Excel 파일에서 데이터를 로드하고, 결과 JMP 테이블을 수정한 후 저장하는 두 번째 스크립트가 있습니다.
두 번째 스크립트에 폴더에서 보고서 스크립트를 로드하고 이를 JMP 테이블의 왼쪽 상단 상자에서 사용할 수 있는 섹션을 포함하고 싶습니다.
동료들이 사용할 JMP 스크립트를 만들기 위해 이렇게 합니다. 동료들은 엑셀 파일의 파일 경로를 변경하고 스크립트를 실행하면 됩니다. 그러면 JMP 테이블이 생성되고, 현재 테이블에 따라 보고서를 실행할 수 있는 옵션이 제공됩니다.
옵션이 있을 거라고 확신하지만 현재는 include()가 실패하거나 << 데이터 테이블에 스크립트를 저장하는 데 실패했습니다.
자동화 및 스크립팅Re: 다른 스크립트로 데이터 테이블에 jsl 스크립트 로드하기다음은 파일의 텍스트를 테이블 스크립트로 테이블에 추가하는 간단한 예입니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt << Delete Scripts(dt << Get Table Script Names); // demo
script_txt = Load Text File("$SAMPLE_SCRIPTS/chaosGame.jsl");
Eval(EvalExpr(
dt << New Script("S",
Expr(Parse(script_txt))
);
));
댓글을 유지하고 싶다면, 조금 더 복잡해질 것입니다.
편집: 주석이 필요하지 않은 경우에도 Include를 << Parse Only와 함께 사용할 수 있습니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt << Delete Scripts(dt << Get Table Script Names); // demo
script_expr = Include("$SAMPLE_SCRIPTS/chaosGame.jsl", << parse only);
Eval(EvalExpr(
dt << New Script("S",
Expr(Name Expr(script_expr))
);
));
Re: 다른 스크립트로 데이터 테이블에 jsl 스크립트 로드하기빠른 답변 감사합니다.
이 솔루션을 좀 더 자세히 설명해 주실 수 있을까요?
"Names Default To Here(1);"를 사용하면 로컬 네임스페이스를 설정할 수 있습니다.
그럼 jmp 테이블을 열고 열린 테이블과 함께 제공된 스크립트를 삭제하는 게 맞나요?
그 다음에는 로드해야 할 스크립트를 처리하는 부분이 나옵니다. script_txt 변수를 정의하는데, 이 변수는 주어진 디렉터리에서 로드된 텍스트 파일이어야 합니다. 마지막 다섯 줄의 코드는 무슨 역할을 하는지, 좀 설명해 주시겠습니까?
저는 항상 코드가 어떤 역할을 하는지 자세히 이해하고 싶어 합니다. 이는 구현 과정에서 간단하지만 치명적인 오류를 피하는 데 큰 도움이 됩니다.
Re: 다른 스크립트로 데이터 테이블에 jsl 스크립트 로드하기기본 사항을 알아보려면 JMP 스크립팅 가이드를 읽어보시기 바랍니다.
- 이름이 여기(1)로 기본 설정되는 것과 관련하여 스크립트를 항상 이것으로 시작해야 합니다. 스크립팅 가이드 > 프로그래밍 방법 > 고급 범위 및 네임스페이스 .
- 테이블을 열고 스크립트를 제거하는 것은 무슨 일이 일어나고 있는지 보여주기 쉽게 하기 위한 데모 목적일 뿐입니다.
- 마지막 부분에서는 표현식 평가를 사용하여 스크립트를 올바른 형식으로 테이블에 넣고 실행하기 쉽게 만드는 방법을 설명합니다. 스크립팅 가이드 > 프로그래밍 방법 > 고급 표현식, 매크로 및 목록 .
Re: 다른 스크립트로 데이터 테이블에 jsl 스크립트 로드하기감사합니다. 잘 작동하네요! 그리고 설명도 정말 감사합니다.