위반에 다시 한 번!
나는 몇 주 전에 아버지와 이야기를 나누었습니다. 그와 데이트를 하려고 하지는 않았지만, 그는 JMP 버전 1.0부터. 마우스 사용법을 처음 배울 때 Mac II-se 옆에 3.5인치 디스크가 놓여 있는 것을 본 기억이 납니다. 같은 기계가 애리조나주 투산에서 열린 2019년 디스커버리 서밋 컨퍼런스에 전시되었습니다. 사진은 다음과 같습니다.

어쨌든 아버지와 나는 의논하고 있었다. 내 첫 번째 Five Things 블로그 시리즈 . 그는 누군가가 JMP에서 스크립팅을 시작하는 방법에 대한 시리즈를 작성했으면 좋겠다고 말했습니다. 그 당시 나는 이미 다른 기사를 쓰는 중이었기 때문에 향후 프로젝트를 위해 치워 두었습니다. 그러나 인생에는 다른 계획이 있었습니다. 일주일 후 고객 프레젠테이션을 도와 달라는 요청을 받았는데 놀랍게도 그들이 원하는 주제 중 하나가 스크립팅 소개였습니다! 우주는 분명히 농담을 좋아합니다.
어쨌든, 다시 시작합니다! 첫 번째 Five Things 시리즈의 형식에 따라 모든 사람이 대본을 시작할 때 알아야 할 다섯 가지가 있습니다. 먼저 개념적 사고입니다.
필요를 보고, 필요를 채우다
스크립팅을 시작하기 전에 필요성을 고려해야 합니다. 확률은 스크립트를 작성하려는 경우 몇 가지 이유가 있습니다. 아마도 당신은 직장에서 자신을 더 효율적으로 만들기 위해 그것을 하고 있을 것입니다. 그룹에 대한 분석 방법을 표준화하려고 할 수도 있습니다. 아니면 사실 당신은 웃음과 웃음을 위해 그것을 선택하기로 결정한 희귀한 사람들 중 하나일 수도 있습니다. 이 중 어느 것도 나쁜 이유는 아니지만 마지막 이유가 상황을 조금 더 어렵게 만들 수 있습니다(이유는 잠시 후에 설명하겠습니다). 요점은 머리 속에 이유가 있어야 하고 첫 대본에 대한 구체적인 목적이 있어야 한다는 것입니다.
스크립트가 있고 스크립트가 있습니다.
어쨌든 제 생각에는 두 가지 유형의 스크립트가 있습니다. 기존 데이터에 작용하는 스크립트와 데이터를 생성하는 스크립트입니다. 기존 데이터에서 작동하는 스크립트는 데이터 테이블 및 JMP의 기존 플랫폼과 상호 작용하여 새로운 사용자 정의 출력을 생성합니다. 이는 여러 보고서 주위에 창을 래핑하는 것처럼 간단할 수도 있고 Application Builder에서 사용자 정의 보고서처럼 복잡할 수도 있습니다. 주요 공통점은 이와 같은 스크립트가 기존 콘텐츠 수정 .
두 번째 그룹은 데이터를 생성하는 스크립트입니다. 데이터를 생성하는 스크립트는 시뮬레이션 도구, 사용자 정의 그래픽, JMP 파일에서 메타데이터를 관리하기 위한 도구 등이 될 수 있습니다. 이 그룹은 좀 더 모호하지만 공통 주제는 스크립트가 기존 데이터 또는 분석을 강화하는 것 이상으로 JMP를 확장한다는 것입니다. 대부분의 경우 이러한 스크립트는 새 콘텐츠 만들기 기스로부터.
기존 콘텐츠를 수정하는 스크립트는 일반적으로 사람들이 JSL(JMP 스크립팅 언어) 학습을 생각할 때 시작하는 곳입니다. 이것은 또한 우리가 토론을 시작할 곳입니다. 이제 한 걸음 물러서서 왜 JSL을 배우는 데 관심이 있는지 생각해 봅시다.
나에게 문장을 줘, 바실리. 한 문장만 부탁드립니다.
잠시 시간을내어 당신에 대해 생각하십시오 필요 . JSL로 해결하고자 하는 문제는 무엇입니까? 웃음과 웃음을 위한 스크립팅(최소한 처음에는)이 까다로울 수 있는 이유를 이제 이해하셨습니까? 정상에 도달할 이유가 있다면 학습 곡선을 극복할 가능성이 훨씬 더 높습니다. 나는 당신이 JSL을 선택할 수 없다는 말이 아니라 추가 동기 없이는 싸움이 더 어렵다는 것입니다.
다음 단계이자 이 에피소드에서 다룰 마지막 단계는 이러한 필요에 따라 무엇을 하느냐입니다. 간단한 대답은 두 가지 일을 할 것이라는 것입니다. 먼저, JSL을 배우도록 유도하는 (어쩌면 애매한) 아이디어를 문제 진술이라는 한 문장으로 적어야 합니다. 그리고 나는 단지 한 문장을 의미합니다. 아이디어를 구축할 수 있는 가시적인 것으로 구체화할 수 있는지 확인하세요. 범위 크립을 억제하는 데에도 도움이 됩니다. 여기 몇 가지 예가 있어요.
- 주간 보고서의 모든 그래프 생성을 하나의 스크립트로 자동화하고 싶습니다.
- 고객이 제공한 데이터 테이블의 서식 지정 작업을 자동화하고 싶습니다.
- 공장 컴퓨터 시스템에서 제공하는 데이터 파일에서 관리도 세트를 생성하고 싶습니다.
구체적인 내용을 말하는 것이 아닙니다. 나는 단순히 내가 JSL을 바라보게 만드는 문제점을 언급하는 것입니다. 그리고 나는 쓰기를 멈췄다.
펀치 목록 만들기
문제 진술이 있습니까? 좋은! 이제 스크립트에 대한 일련의 특정 결과물을 작성할 것입니다. SAS가 JSL 학습을 위해 제공하는 리소스를 찾는 데 도움이 되는 펀치 목록이 될 것입니다. 그래픽 사용자 인터페이스(GUI) 또는 사용자 인터페이스(UI)를 구체적으로 나열하지 마십시오. 스크립트가 수행해야 하는 작업을 나열합니다. 위의 문제 설명에 대한 예는 다음과 같습니다.
문제 설명 1: 주간 보고서의 모든 그래프 생성을 하나의 스크립트로 자동화하고 싶습니다.
펀치 목록:
- 지난 3주간의 데이터가 포함된 프로덕션 데이터베이스에서 데이터 세트를 가져옵니다.
- 내 제품에 대한 시간과 온도의 그래프를 만드십시오.
- 다항식 모델을 사용하여 시간 대 온도 분석을 실행합니다.
- 그래프와 보고서를 PowerPoint 파일로 내보냅니다.
문제 설명 2: 고객이 제공한 데이터 테이블의 서식 지정 작업을 자동화하고 싶습니다.
펀치 목록:
- 내부 표준에 따라 열 이름을 바꿉니다(사양의 표 사용).
- 필요한 열에 단위를 할당합니다(사양의 표 사용).
- 위도 및 경도를 지리적 좌표로 변환합니다.
- 변화 불량품 열 마디 없는 에게 서수 .
문제 설명 3: 공장 컴퓨터 시스템에서 제공하는 데이터 파일에서 관리도 세트를 생성하고 싶습니다.
펀치 목록:
- 네트워크 위치에서 데이터를 가져옵니다.
- 사양 제한을 할당합니다.
- 컨트롤 차트를 작성합니다.
여기에서 내가 너무 많이 박싱하지 않는다는 점에 유의하십시오. 스크립트가 필요한 작업 목록을 작성 중입니다. 나는 당신이 전에 JSL에서 일한 적이 없다고 가정하고 있기 때문에 당신이 이러한 문제를 어떻게 공격할 것인지 모른다고 가정하고 있습니다. 기록해두면 도움말과 리소스에서 무엇을 찾아야 하는지 알 수 있습니다. 이 시리즈의 다음 기사에서 내가 선택할 곳입니다.
이번 주 마무리 생각
이 시리즈는 몇 주에 걸쳐 진행될 것이므로 방금 읽은 것보다 함께 작업하는 시리즈로 만들기로 결정했습니다. 그래서, 내가 숙제로 만든 이 마지막 요점을 가져가라. 책임감이나 피드백을 원하시면 아래 댓글에 남겨주세요. 도움이 될 수 있으면 연락을 드리거나 나중에 문제가 발생할 가능성이 있는 경우 알려드리겠습니다.
보너스 포인트를 얻으려면 JMP에서 스크립트 창을 엽니다( 파일 > 새로 만들기 > 스크립트 ) 문제 설명과 중요 항목을 스크립트 창에 입력합니다. 줄 시작 부분에 이중 슬래시("//")를 사용하여 한 줄에 하나씩 입력합니다. JSL 스크립트 편집기에서 해당 행의 텍스트 색상이 녹색으로 변경되는 것을 볼 수 있습니다. 다음 에피소드에서 방금 수행한 작업을 다룹니다.
아, 그리고 바실리가 누구인지, 왜 그가 당신에게 단수 문장을 주어야 하는지 궁금하다면 한 번 보세요. 여기 .
좋은 생각.JMP 학습을 위한 최신 버전의 JMP 스크립팅 시작 , Murphrey와 Lucas가 저에게 도움이 되었습니다.