You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?스크립트를 만들었습니다. 이제 자신이 만든 것을 어떻게 공유할 수 있나요?
돌아온 것을 환영합니다! 여기까지 진행했다면 아마도 일종의 작업 스크립트를 갖게 되었을 것입니다. 축하해요! 방금 발견했다면 이 시리즈 , 이 기사에 핀을 꽂고 처음부터 시작하고 싶을 수도 있습니다.
놓쳤을 수 있는 링크는 다음과 같습니다.
이제 멋진 새 코드가 생겼습니다. 그것에 대한 당신의 계획은 무엇입니까? 스크립트를 작성하는 데 어려움을 겪었다면 다른 사람(또는 자신)이 쉽게 사용할 수 있도록 패키지하는 방법을 고려해야 합니다. 이 마지막 항목에서는 여러분이 만든 것을 공유하는 방법에 대한 몇 가지 아이디어를 제공하고 싶습니다. JMP 공유 방법에 따라 여러 가지 옵션이 있습니다.
작업 공유
다른 사람이 사용할 수 있도록 스크립트를 패키징하는 방법에는 JSL 파일, 쿼리 빌더 파일, JMP 추가 기능, JMP 애플리케이션, JMP Live 및/또는 JMP 공개 보고서 등 4~5가지 방법(대화 대상에 따라 다름)이 있습니다. 여기서 수행 중인 스크립팅 수준에서 이러한 방법 중 일부는 범위를 약간 벗어났습니다(특히 응용 프로그램. 해당 내용은 다른 시리즈를 위해 저장하겠습니다). 여기서 제가 하고 싶은 것은 각 방법에 대한 몇 가지 옵션과 유용한 리소스를 제공하고 스크립팅 여정의 현재 단계에서 비용 대비 가장 효과가 큰 방법에 대한 몇 가지 예를 살펴보는 것입니다.
JSL 파일
이것이 사람들이 JSL에서 일하는 것에 대해 이야기할 때 생각하는 것입니다. 시리즈를 따라오셨다면 현재 스크립트가 여기에 있습니다. 문제는 JSL 파일이 파일을 저장하거나 공유하는 가장 좋은 방법이 아니라는 것입니다. 실수로 편집될 수 있습니다. 스크립트를 실행하는 방법을 아는 사람이 필요합니다. 그리고 솔직히 말해서 일부 사람들에게는 코드를 보는 것이 약간 겁이 납니다.
JSL 파일은 가장 사소한 작업이나 대규모 프로젝트의 프로토타입 제작 방법에만 사용해야 합니다. 물론 예외도 있습니다. 함수 라이브러리 등을 만드는 경우 JSL 파일로 존재하게 됩니다. JSL을 직접 제공할 수 있는 JMP도 있습니다(예: 코드 접기 키워드 파일 ), 그러나 이는 규칙이라기보다는 예외인 경향이 있습니다. 내 개인적인 편견은 다른 코더와 공동 작업을 하거나 코드가 전적으로 개인적인 용도로 사용되는 경우(예: 테스트용 코드 조각) 최후의 수단으로만 JSL 파일을 사용하지 않는 것입니다.
쿼리 빌더 파일
JMP는 ODBC 드라이버 또는 JMP 데이터 테이블을 통해 대부분의 파일 유형에 대해 쿼리 빌더를 지원합니다. 스크립트에 데이터 조작 단계가 포함된 경우 무거운 작업을 Query Builder 파일로 오프로드하고 쿼리 후 스크립트(자세한 내용은 잠시 후)를 사용하여 Query Builder에서 수행할 수 있는 작업을 수행할 수 있습니다. 처리하지 않습니다. 이러한 파일을 패키징 방법으로 사용하면 작업 흐름이 단순화되고 스크립트가 더욱 강력해집니다. 또한 스크립트를 이식 가능하게 만듭니다. 또한 내장된 필터 프롬프트를 사용하여 코드를 더욱 유연하게 만들 수 있습니다.
간단한 예를 살펴보겠습니다. JMP 데이터 테이블 쿼리 빌더를 사용하겠습니다. 테이블 > 쿼리 빌더 일을 단순하게 유지하기 위해 ODBC 또는 SAS 연결을 위한 연결이 아닌 경우에도 워크플로는 유사할 것입니다. 어떻게 작동하는지 보여주는 리소스가 있습니다. .
먼저 테이블 쿼리를 설정해 보겠습니다. 나는 그것을 쓰지 않을 것입니다. JMP 문서화 팀은 SATByYear 샘플 데이터에 대한 예를 훌륭하게 수행했습니다. 다음 지침을 따르세요. 이 예 쿼리를 실행한 후에는 중지하되 쿼리 빌더는 열어두세요. 데이터 테이블이 있으면 그래프 빌더 맵을 만듭니다.
- 그래프 빌더 열기( 그래프 > 그래프 빌더 ).
- 상태를 Y축 아래의 지도 모양 드롭 영역으로 드래그합니다.
- % Take(2004)를 색상 드롭 영역으로 드래그합니다.
- Graph Builder 옆의 빨간색 삼각형으로 이동하여 다시 실행 > 열 전환기 .
- 선택하다 % 복용 (2004) 전환하려는 항목을 선택하고 클릭하세요. 좋아요 .
- 전환하려는 모든 연속 변수를 선택하고 클릭하십시오. 좋아요 .
선택하다 완료 제어판을 닫으려면
이제 그래프를 보려면 여기저기를 클릭해야 하며 이러한 종류의 데이터에 대한 매우 일반적인 보기가 필요합니다. 새로운 스크립팅 기술을 사용하여 쿼리 작성기가 이 그래프(및 나중에 추가하도록 선택할 수 있는 추가 그래프)를 재현하도록 할 수 있습니다. 방법은 다음과 같습니다.
- 선택하다 스크립트 저장 > 클립보드로 d 그래프 빌더에서.
- 쿼리 빌더에서 쿼리 후 스크립트 창 하단에 있는 탭을 클릭하세요.
- 반죽 ( Ctrl+P PC용 또는 명령+P MacOS의 경우) 스크립트를 쿼리 후 스크립트 탭에 추가합니다.

- 를 클릭하여 쿼리 빌더 파일을 저장합니다. 구하다 .
- 이제 Query Builder가 생성한 데이터 테이블과 Graph Builder를 닫습니다.
- 딸깍 하는 소리 쿼리 실행 .
어떻게 작동하는지 보시겠어요? 쿼리 빌더를 사용하면 필터링 대화 상자 형태로 무료로 상호 작용이 가능해지며 이 워크플로의 효율성을 크게 높일 수 있었습니다. 누군가 두 개의 데이터 파일을 갖고 있다면 쿼리 빌더 파일을 그 사람에게 보낼 수 있으며 동일한 결과를 얻을 수 있습니다.
JMP 추가 기능
JMP에 코드를 표시하려면 추가 기능을 사용하는 것이 좋습니다. 추가 기능은 JMP의 추가 기능 메뉴에 표시되며, 첫 번째 추가 기능을 설치한 후에만 표시됩니다. JMP 파일 시스템에 저장되므로 사용자는 스크립트 파일이 어디에 있는지 기억할 필요가 없습니다. 그리고 완성된 프로젝트에 특정 요소를 추가합니다. 물론 처음에는 겁이 날 수도 있지만 추가 기능 마법사를 사용하면 정말 쉽게 작업할 수 있습니다.
이 코드를 사용하는 매우 간단한 추가 기능을 만들겠습니다.
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
코드는 로그를 열고 메시지를 인쇄합니다. 이 추가 기능을 "내 첫 번째 추가 기능"이라고 부르겠습니다. 첫 번째 단계는 추가 기능 빌더( 파일 > 새로 만들기 > 새 추가 기능 ). 그 후에는 양식을 작성하기만 하면 됩니다. 인터페이스 상단에는 5개의 탭이 있습니다. 추가 기능에는 처음 두 개가 필요합니다. 첫 번째 탭(일반 정보)은 장부에 관한 내용과 JMP가 물건의 위치를 파악하는 데 관한 것입니다. 두 번째 탭은 실제로 JMP GUI에 있는 비트를 설정합니다.
일반 정보 아래의 추가 기능 이름 및 버전 필드는 설명이 매우 간단합니다. 최소 JMP 버전으로 코드를 실행하는 JMP 레거시 버전을 제한할 수 있습니다. 호스트를 사용하여 MacOS 또는 Windows에서 실행되도록 추가 기능을 제한할 수도 있습니다. 코드가 작성된 시스템의 구성과 일치하도록 최소 버전과 호스트를 설정하는 것이 좋습니다(다른 구성에서 테스트할 수 있는 능력이 없는 경우). 코드가 모든 상황에 대해 완벽한지 확인하는 것보다 쉽습니다. 특히 막 시작하는 경우에는 더욱 그렇습니다. Add-in ID는 Add-in 설치 시 JMP 파일 시스템에 생성되는 고유한 폴더 이름입니다. JMP에서는 "역방향 DNS" 명명 규칙을 사용할 것을 권장합니다(이유는 모르겠습니다). 이는 기본적으로 웹사이트 주소처럼 보이는 것을 만들고 이를 뒤집는 것을 의미합니다. 추가 기능의 경우 com.myAddin.MyFirstAddin을 사용합니다. 첫 번째 탭은 다음과 같습니다.
아래의 메뉴 항목 탭을 클릭하기만 하면 됩니다. 명령 추가 단추. 그런 다음 세부 정보 아래에서 메뉴 항목에 이름을 지정합니다. 좀 더 화려하게 꾸미고 싶다면 추가 기능 위로 마우스를 가져갈 때 수행되는 작업을 설명하는 도구 설명을 제공할 수 있습니다. 그런 다음 JSL을 복사하여 작업 영역에 붙여넣으면 됩니다. 위의 코드 스니펫을 사용하는 경우 메뉴 항목 탭은 다음과 같아야 합니다:

그리고 그게 다야. 파일을 저장하면 끝! 왜냐하면 기본 동작( 일반 정보 탭) 저장 시 추가 기능을 설치하는 것입니다. 구하다 다른 사람에게 보낼 파일을 생성하고 이를 자신의 JMP 인스턴스에 설치합니다. 추가 기능을 저장하면 추가 기능 메뉴에 다음과 같은 항목이 표시됩니다.
JMP 애플리케이션
그렇다면 JMP의 기본 부분처럼 보이는 것을 만들고 싶으신가요? 제 생각에는 Application Builder는 고품질의 사용자 정의 JSL 솔루션을 생성하기 위한 가장 유연하고 효율적인 방법입니다. 소프트웨어의 모든 측면을 제어하고, JMP의 기존 부분을 활용하고, 맞춤 설계된 루틴을 사용할 수 있는 기능을 제공합니다. 이러한 유연성과 성능은 학습 곡선의 형태로 대가를 치르게 됩니다.
즉, 위협을 받아서는 안 됩니다. Application Builder를 시작하는 데 필요한 많은 리소스가 있으며, 이를 통해 수행할 수 있는 작업은 놀라울 정도입니다. 일어나서 실행하려면 약간의 작업이 필요합니다. JMP에는 "라이트" 버전의 Application Builder도 내장되어 있습니다. Dashboard Builder라는 끌어서 놓기 도구로 알려져 있습니다. JSL에 대한 약간의 경험이 있으면 SAS Education의 Application Builder 과정 이 매우 강력한 도구에 대해 배우는 것은 나쁜 방법이 아닙니다. 나는 또한 어느 시점에서 이 주제에 대한 또 다른 "다섯 가지" 시리즈를 만들려고 노력 중이므로 계속 지켜봐 주시기 바랍니다!
JMP Live 및 JMP 공개
JMP Live와 JMP Public은 "소비"라는 측면에 더 중점을 두지만 이 방법을 사용하면 다른 사람들이 소비할 수 있도록 대시보드와 보고서를 만들고 게시할 수 있습니다. 대부분의 경우 이 시리즈에서 제가 보여드린 JSL의 일부를 사용하고 있을 뿐입니다. 댄 발렌테가 한 일 JMP Live 스크립팅에 대한 훌륭한 블로그 게시물 (및 JMP Public) 출판 과정에 대해서는 자세히 설명하지 않겠습니다.
숙제
글쎄, 당신은 해냈어요! 마지막 숙제는 정말 쉽습니다. 코드를 패키지화하여 동료에게 주고, 시험해보고 작동하는지 확인하도록 하세요. 그렇지 않은 경우 오류 메시지를 보고 이유를 알아보세요. 그렇다면 첫 번째 JMP 추가 기능을 만드신 것입니다! 잘 하셨어요.
여기서 어디로 가야합니까?
앞서 말했듯이 이 시리즈는 여러분의 머리를 뒤로 날려버리고 제 스크립팅 솜씨로 여러분을 현혹시키려는 의도가 아니었습니다. 코를 올바른 방향으로 향하게 하고, 좋은 지도를 제공하고, 등을 두드려 주고, 막힐 경우 도움을 받을 수 있도록 하기 위한 것이었습니다. 이는 출발점입니다. 당신 뒤에 있는 길보다 앞에 갈 길이 훨씬 더 많습니다.
따라서 여기서부터 계속 시도하고 실험하는 것이 비결입니다. 사람들의 추가 기능과 응용 프로그램을 계속 분리하여 작동 방식을 확인하십시오. 계속해서 새로운 것을 시도하고 적은 스크립트로 작업 흐름을 보다 효율적으로 만들 수 있는 기회를 찾으십시오. 더 많이할수록 더 나은 결과를 얻을 수 있고 생각하고 있는 더 큰 프로젝트에 더 쉽게 접근할 수 있을 것입니다. 그냥 계속하세요.