따라서 이 데모에서는 반복을 위해 For 함수를 사용하는 방법을 보여줍니다. 그리고 지금까지 스크립트를 테스트하고 결과를 관찰하기 위해 로그와 함께 스크립트 편집기를 사용했습니다. 하지만 이제 디버거를 사용하여 이를 살펴보고자 합니다. 스크립트 편집기 창이 열려 있고 Names Default to Here를 입력하여 시작하겠습니다. 그리고 지금은 공백을 추가하지 않는 부울 값을 입력하겠습니다. 실제로 모든 것을 한 줄에 입력한 다음 자동 재포맷을 통해 정리하도록 하겠습니다. 그래서 세미콜론을 입력한 다음 For, 여는 괄호, 같음 세미콜론, b 같음 세미콜론, i 쉼표를 입력합니다. 그래서 세 개의 변수를 초기화합니다. 그런 다음 i가 쉼표보다 작은 테스트를 입력한 다음 b와 i를 모두 업데이트합니다. 그래서 b는 업데이트합니다-- b+ 같음 그래서 그것은 제자리 할당 함수, 함수에 추가입니다. 이 함수는 b의 현재 값을 덮어쓰고 세미콜론만큼 증가시킵니다. 왜냐하면 내가 두 가지를 업데이트한 다음 i++, 그 ++ , 다시, i를 제자리에 추가하는 후위 증가 연산자입니다. 그런 다음 쉼표를 입력하고 이 간단한 루프의 본문은 Show 함수가 됩니다. 그리고 a, comma, b, comma를 보여주고 실제로 연산자를 사용하여 곱하기 함수를 호출할 것이므로 b를 곱합니다. 그런 다음 모든 괄호를 닫고 세미콜론을 추가한 다음 마우스 오른쪽 버튼을 클릭하고 포맷을 다시 지정합니다. 이제 한 가지--음, 여기서 주목해야 할 두 가지--- 하나는 JMP가 저를 위해 추가 세미콜론을 추가했다는 것입니다. 이 첫 번째 인수에서 함수를 함께 붙이고 있다는 것을 알았습니다. 내가 세 번째 인수에서 함수를 함께 붙이고 있다는 것을 알았습니다. 그래서 이 세미콜론을 추가했습니다. 그들은 아프지 않습니다. 실제로는 더 많은 기능을 함께 붙이지 않는 한 필요하지 않기 때문에 스크립트에서 제거할 것입니다. 그리고 제가 할 수 있는 또 다른 일은 이것을 재정렬하여 각 인수가 고유한 행을 갖도록 하는 것입니다. 그러나 디버거로 이동할 때 과정 PDF에 있는 내용과 일치하기를 원합니다. 따라서 세미콜론을 제거하는 것을 제외하고 JMP를 다시 형식화한 그대로 두겠습니다. 따라서 디버거를 시작할 수 있는 몇 가지 방법이 있습니다. 편집 메뉴로 이동하면 디버그 스크립트 옵션이 있습니다. 바로 가기 키가 Ctrl+Shift+R인 것을 볼 수 있습니다. 여기 스크립트 편집기 창에서 디버그 도구 모음 버튼을 클릭할 수 있습니다. 또는 마우스 오른쪽 버튼을 클릭하고 디버그 스크립트를 선택할 수 있습니다. 그리고 그것이 내가 당신에게 보여주는 마지막 것이므로 계속해서 그 방법을 사용할 것입니다. 따라서 이 디버거는 JMP의 두 번째 인스턴스입니다. 그리고 JMP의 원래 인스턴스는 일시적으로 중단됩니다. 따라서 스크립트에 필요한 대화 상자와 같은 상호 작용이 있는 경우 해당 작업을 수행할 때까지 디버거 창이 일시 중단됩니다. 그런 다음 완료되면 컨트롤이 디버거로 반환됩니다. 그리고 디버거 작업이 끝나면 간단히 닫습니다. 오른쪽 상단 모서리에 있는 X를 사용하거나 여기 도구 모음에서 중지 버튼을 사용할 수 있습니다. 그러면 JMP의 원래 인스턴스로 돌아갑니다. 시작하려면 중단점을 넣지 않고 이 루프를 있는 그대로 실행하겠습니다. 그리고 여기에는 두 개의 버튼이 있습니다. 하나는 실행이고 다른 하나는 중단점 없이 실행입니다. 그리고 지금은 중단점이 없기 때문에 동일한 작업을 수행할 것입니다. 지금 사용하려는 중단점이 있는 경우 맨 왼쪽에 있는 이 버튼을 사용합니다. 클릭하겠습니다. 그리고 다시 시작하지 않으면 프로그램 실행이 종료된다는 것을 알려줍니다. 이 작업은 곧 하겠습니다. 유일한 옵션은 디버거를 닫는 것입니다. 그러나 다시 시작하기 전에 스크립트가 표시되는 아래 패널의 Locals 탭으로 이동하고 싶습니다. 그리고 기본 이름 공간은 Here입니다. 이것은 제가 온라인에서 호출한 것입니다. 그리고 스크립트 실행이 끝날 때 의 값은 b의 값이고 i의 값은 입니다. 그래서 이제 사용하고 싶습니다. 디버거가 반복의 각 단계에서 a, b, i의 값을 확인합니다. 다시 시작 버튼을 클릭하겠습니다. 그리고 줄에 중단점을 추가하고 싶습니다. 그렇게 하기 위해 줄 번호 바로 오른쪽을 클릭합니다. 그리고 원하는 만큼 중단점을 가질 수 있습니다. 이 간단한 스크립트에서는 정말 하나만 필요합니다. 이것이 의미하는 바는 라인을 평가하고 Here 이름 공간을 설정한다는 것입니다. 그런 다음 for 루프 내에서 초기화 인수를 평가합니다. 우리는 테스트를 평가할 것입니다. 우리는 단지 Show 함수인 for 루프의 본문을 평가할 것입니다. 그런 다음 일시 중지하고 Locals 탭에 값이 표시됩니다. 다시 전환하겠습니다. 그런 다음 다시 실행을 클릭하면 업데이트하고 테스트를 수행하고 본문을 실행하고 일시 중지하고 해당 값을 확인합니다. 그리고 테스트가 실패하고 루프를 종료할 때까지 계속 할 것입니다. 그래서 아무 것도 선택하지 않았으면 합니다. 그리고 왼쪽 실행 버튼을 사용하겠습니다. 다시 말하지만, 중단점 없이 실행하고 싶지 않습니다. 그래서 이것을 실행하겠습니다. 그리고 우리가 그것을 평가한 후 줄을 멈춘 것을 볼 수 있습니다. 그리고, a, b, i의 값은 각각 및입니다. 반복의 다음 단계를 실행하기 위해 실행 버튼을 다시 클릭합니다. 그리고 이제 나는 , b , i 의 값을 각각 와 로 봅니다. 그리고 한 번 더 달릴 수 있습니다. 그리고 우리는 b, i의 최종 값에 도달합니다. 그리고 프로그램 실행이 종료되었다는 메시지를 받습니다. 그리고 다른 작업을 원하면 다시 시작할 수 있습니다. 중지 버튼을 클릭할 수 있습니다. 또는 오른쪽 상단 모서리에 있는 X를 사용하여 닫을 수 있습니다. 그리고 중지 버튼을 클릭하겠습니다. 그러면 JMP의 원래 세션으로 제어가 반환됩니다. 이제 생산 중인 일부 화합물의 경화 시간을 측정했다고 상상해 봅시다. 그리고 모든 실행은 생산 중에 5번 샘플링되며 각 샘플에 대해 이 경화 시간을 결정합니다. 그리고 각 샘플의 경화 시간 분포를 살펴보고 싶습니다. 따라서 Course Journal의 섹션에서 Cure Time Data를 클릭하겠습니다. 스크립트를 작성할 때 권장하는 것 중 하나는 대화식으로 시도하여 수행하려는 작업이 가능한지 확인하는 것입니다. 그래서 저는 Cure Time에 대한 히스토그램을 원합니다. 그래서 시작하기 위해 간단한 예를 들겠습니다. 분석 메뉴로 이동하여 분포를 선택합니다. 그리고 나는 그 Y 역할에 Cure Time을 넣을 것입니다. 그리고 여기서 역할이 Y라는 것을 다시 기억하십시오. 확인을 클릭하겠습니다. 그리고 이것을 보면, 글쎄, 이것은 훌륭하다고 생각합니다. 이것이 제가 5가지 치료 시간 분포 모두에 대해 원하는 것입니다. 그래서 사용하고 싶은 플랫폼입니다. 그리고 이 보고서를 다시 만들 스크립트의 작은 템플릿을 만들었습니다. 홈 창으로 돌아가서 열어보겠습니다. 따라서 배포 플랫폼이 실행되는 이 스크립트, 해당 Y 역할 및 문자열로 Cure Time이 있는 열 함수가 해당 보고서를 다시 생성합니다. 그래서 저는 이 템플릿을 기반으로 루프를 작성할 것입니다. 계속해서 이 치료 시간 창을 닫고 스크립트 편집기로 돌아가서 내용을 지우면 같은 창을 사용할 수 있습니다. 그리고 다시 Names Default to Here로 스크립트를 시작하겠습니다. 그리고 이전과 마찬가지로 JMP가 자동 재포맷으로 스크립트를 정리하도록 합니다. 따라서 내 for 루프는 인수 c로 시작합니다. 그리고 c에 값을 할당하겠습니다. 이것이 내가 초기화할 유일한 변수입니다. 쉼표를 입력하겠습니다. 테스트는 c 열 수와 같습니다. 그리고 모범 사례는 큰 데이터 테이블로 작업하는 경우 잠재적으로 루프 외부의 열 수를 계산하고 그 결과를 변수에 저장한 다음 해당 변수를 원하는 값으로 설정하는 것입니다. c를 비교하고 있습니다. 이 경우 두 번째 열부터 시작하기 때문에 다섯 개의 열입니다. 총 5개의 열입니다. 그래서 나는 매번 이 카운트를 다시 하는 것에 대해 너무 많이 걱정하지 않습니다. 그러나 가장 좋은 방법은 그것을 꺼내는 것입니다. 그 뒤에 쉼표를 입력하겠습니다. 업데이트 인수는 c와 후행 증가 연산자, 두 개의 더하기 기호, 또 다른 쉼표입니다. 그런 다음 괄호 안에 Distribution을 입력하겠습니다. y, 다시 괄호를 열고 열을 입력한 다음 c를 입력합니다. 카운터 -- 그 괄호 안에. 이제 모든 괄호가 일치하는지 확인하기 위해 화살표로 이동하겠습니다. 사실 여기에서 닫는 괄호가 없어서 다시 포맷하려고 하면 빠진 것이 있다는 메시지를 받았을 것입니다. 따라서 실제로 다시 포맷하는 것은 디버깅을 수행하는 간단한 방법입니다. 세미콜론을 입력하겠습니다. 그런 다음 스크립트 다시 포맷 버튼을 사용하겠습니다. 그런 다음 스크립트를 실행하겠습니다. 그리고 스크립트를 그대로 작성하여 얻은 것은 배포를 시작하기 때문에 치료 시간 값을 관찰할 때마다 별도의 창입니다. 스크립트 편집기 창으로 돌아가면 배포 플랫폼을 다시 시작하겠습니다. 반복의 모든 단계에서. 하지만 분포에 익숙하다면 분석 메뉴로 돌아가 분포를 선택하고 5개의 치료 시간 값을 모두 해당 Y 역할에 입력하겠습니다. 배포에 익숙하다면 같은 창에서 모든 것을 얻을 수 있다는 것을 알고 있습니다. 따라서 저널에는 모든 열 이름으로 해당 Y 역할을 구축하고 동일한 창에 5개의 배포가 모두 포함된 동일한 보고서를 생성하기 위해 반복하도록 미리 작성된 스크립트가 있습니다. 시작하기 전에 이 보고서 창을 모두 닫고 싶습니다. 메뉴 모음으로 이동하여 창에서 모든 보고서 닫기를 선택합니다. 그리고 나서 저널을 찾을 것입니다. 그리고 Cure Time Distributions라는 스크립트를 클릭하고 싶습니다. 그리고 우리는 디버거에서 이것을 할 것입니다. 따라서 여기서는 스크립트 편집기 창보다는 해당 디버거 환경의 각 단계에서 어떤 일이 일어나는지에 대해 이야기하겠습니다. 따라서 마우스 오른쪽 버튼을 클릭하고 디버그 스크립트를 선택하겠습니다. 다시 말하지만, 디버거를 시작할 수 있는 여러 가지 방법이 있음을 기억하십시오. 그리고 이전의 간단한 예제에서 했던 것처럼 반복의 각 단계에서 무슨 일이 일어나는지 보기 위해 줄에 중단점을 추가하고 싶습니다. 또한 c 변수와 yCol 변수에 시계를 추가하고 싶습니다. Watch 탭으로 이동하겠습니다. 녹색 더하기 기호를 클릭하여 시계를 추가하겠습니다. 그래서 이것은 내 스크립트에서 특정 변수를 볼 수 있는 방법입니다. 이제 여기에는 많은 변수가 없습니다. 그러나 많은 변수가 있는 큰 스크립트가 있고 디버깅하는 동안 주시해야 하는 스크립트가 몇 개 없는 경우 조사식 탭을 사용하는 것이 좋은 방법입니다. 녹색 더하기 기호를 클릭하여 시계를 추가하겠습니다. 변수 c를 입력하고 확인을 클릭합니다. 그런 다음 변수 yCol에 시계를 추가하고 확인을 클릭하겠습니다. 이제 이것을 실행하기 전에 스크립트 전체에서 무슨 일이 일어나고 있는지 조금 이야기하고 싶습니다. 그런 다음 디버거를 실행하는 프로세스를 진행하면서 이를 확인할 수 있습니다. 따라서 첫 번째 줄은 yCol이라는 변수를 만드는 것입니다. 그리고 yCol은 배포 플랫폼의 Y 분석 역할을 저장하고 그 뒤에 빈 괄호를 사용할 것입니다. 내 루프가 해당 Y 역할 뒤의 괄호에 열 이름을 추가하여 이 표현식을 작성하기 때문입니다. 그리고 Expr과 함께 인용하고 있습니다. yCol을 말하고 뒤에 괄호를 사용하여 y 값을 할당하려고 하면 JMP가 이것을 정의된 변수로 인식하지 못하기 때문에 오류가 발생하기 때문입니다. 함수로 인식하지 못합니다. 그래서 저는 JMP가 그것을 평가하려고 시도하지 않고 yCol에 저장된 이 리터럴 값을 얻고 싶습니다. 그것이 라인이 할 일입니다. 우리는 열로 시작하는 for 루프를 통과하는 줄입니다. 열이 다 떨어질 때까지 반복합니다. 그리고 다시, 프로덕션 수준 스크립트에서, 특히 더 큰 데이터 테이블이 있을 수 있는 경우 루프 외부의 열 수를 계산하고 변수에 넣어야 합니다. 그런 다음 for 루프의 본문은 단순히 c 열을 추가하므로 이 첫 번째 열을 yCol에 저장된 표현식으로 반올림합니다. 그리고 Insert Into는 첫 번째 인수를 평가하지 않습니다. 따라서 yCol 변수로 특별한 작업을 수행할 필요가 없습니다. 단순히 살펴보고 y 뒤의 괄호 안에 열을 추가하는 작업을 수행합니다. Show 기능은 각 단계에서 무슨 일이 일어나는지 보여주기 위한 설명을 위한 것입니다. 내가 디버거를 사용하지 않았다면 그 부분은 로그에 나타날 것입니다. 그래서 Show 기능을 사용하는 것과 동일한 값에 대한 시계가 있습니다. 우리는 업데이트합니다. 우리는 테스트하고 c가 여전히 열의 수보다 작거나 같다고 가정하고 다음 열을 yCol에 삽입합니다. 그런 다음 루프가 완료되면 다시 말해 열이 부족해지면 코드의 마지막 줄이 있습니다. 이에 대해 내부에서 외부로 이야기하겠습니다. 삽입 함수를 사용하여 분포 표현식을 수정하려고 합니다. 배포는 JMP에 내장된 플랫폼 출시이기 때문에 삽입 대신 삽입을 사용합니다. 사용자는 실제로 배포 자체를 수정할 수 없습니다. 분포를 사용하는 표현식을 수정할 수 있습니다. 그래서 우리는 삽입을 사용합니다. 그런 다음 JMP가 분포를 평가하지 않도록 Expr 함수로 분포를 래핑합니다. 내가 시작했다면-- 나는 이것을 강조할 것입니다-- 이 코드 줄의 이 부분을 방금 실행했다면 JMP는 이렇게 말할 것입니다. 이봐, Y 역할에 필요한 인수를 제공하지 않았습니다. 그래서 그것은 나에게 배포 플랫폼 출시를 줄 것입니다. 그런 다음 사용자는 열을 넣지만 실제로는 그렇지 않습니다. 스크립트의 목적을 훼손할 것입니다. 그렇죠? 이것이 첫 번째 주장입니다. 두 번째 인수-- yCol을 두 번째 인수로 넣으면 JMP가 이를 평가하려고 합니다. 그리고 그것은 볼 것입니다. 우리가 루프를 한 후에 그것이 어떻게 보일지 보게 될 것입니다. 그러나 괄호와 여러 열 이름이 있는 대문자 Y만 표시됩니다. 그리고 그것은 JMP가 무엇을 해야 하는지 아는 것이 아닙니다. 변수 이름이나 함수로 인식하지 못합니다. 따라서 Name Expr을 사용하면 저장된 항목과 yCol을 평가하지 않고도 볼 수 있습니다. 그리고 yCol에 저장된 평가되지 않은 표현식은 배포 후 괄호 안에 들어갈 것입니다. 그런 다음 일단 그렇게 하면 모든 열에서 Y 역할이 있는 분포가 여전히 인용되기 때문에 전체를 Eval로 래핑합니다. 그리고 우리는 JMP의 일반 인스턴스로 돌아가서 그것을 조금 더 세분화할 수 있습니다. 그래서 내 시계가 있습니다. 그리고 현재 변수는 정의되지 않았습니다. 그래서 그것이 값으로 나타나는 것입니다. 첫 번째 브레이크 포인트로 달려갑시다. 업데이트하기 전에 처음 실행한 후 c는 빈 괄호가 있는 Y 대신 yCol의 값을 저장합니다. Column Cure Time이 있습니다. 그리고 배경에서 볼 수 있는 내 작은 템플릿에서 기억하십시오. 디버거가 활성 상태이기 때문에 탐색할 수 없습니다. 하지만 이것이 바로 하나의 열에 대한 배포를 생성하는 것입니다. 그래서 나는 다음 반복을 통해 다시 실행할 것입니다. 이제 c는 와 같고 y 분석 역할은 두 개의 치료 시간 열을 시작합니다. 나는 다시 달릴 것이다. 이제 세 가지가 있습니다. 그리고 계속 그렇게 할 수 있습니다. 표시 기능으로 인해 해당 결과가 표시되는 것을 백그라운드에서 로그에서 볼 수 있습니다. 따라서 루프를 종료할 때까지 계속하겠습니다. 그리고 5개의 치료 시간 열이 모두 저장되어 있으며 이는 JMP의 일반 세션에서 로그에서 더 쉽게 볼 수 있지만 지금은 모두 yCol에 저장되어 있습니다. 따라서 프로그램 실행이 종료되었습니다. 계속해서 디버거에서 중지를 클릭하겠습니다. 이제 마지막 줄이 평가되었습니다. 그리고 동일한 창에 5개의 히스토그램이 모두 있는 경화 시간 분포가 있습니다. 이제 이 줄에 대해 이야기하기 위해 다시 스크립트 편집기 창으로 다시 돌아가서 표현식을 내부에서 외부로 작성하는 방법에 대해 생각하는 것이 중요하다고 생각합니다. 그래서 저는 이것을 실행하고 많은 오류를 생성하여 우리가 이것을 우리가 했던 방식으로 작성한 이유가 분명하다는 것을 확인하려고 합니다. 그래서 미리 작성된 줄을 주석 처리하겠습니다. 디버거 인스턴스에 있을 때 이것을 설명했던 방법으로 돌아가서 Insert라는 단어를 입력하겠습니다. 그리고 스크립팅을 처음 사용하는 경우 삽입을 사용할 때와 삽입을 사용할 때 약간의 시행 착오가 있을 수 있습니다. 하지만 이 경우에도 다시 시도하고 있습니다. 특정 분석 역할 또는 분석 역할의 특정 열이 있는 플랫폼을 시작해야 합니다. 하지만 플랫폼을 수정할 수는 없습니다. 사용자 생성 변수만 수정할 수 있습니다. 이를 L 값이라고 합니다. 그래서 이것을 시도해보자. 해당 실행에 대해 Distribution을 입력하고 괄호를 열고 괄호를 닫고 쉼표를 입력하고 yCol을 삽입하려고 합니다. 다시 말하지만, 나는 yCol과 배포 후 괄호에 무엇이 저장되어 있는지를 원한다는 순진한 관점에서 여기에 왔습니다. 이 한 줄을 실행하면 어떤 일이 발생하는지 봅시다. [오류 차임] 오류가 발생합니다. 이름이 확인되지 않았습니다. 모든 열의 Y에 대한 액세스 또는 평가에서 Y. 따라서 이를 무시하면 JMP가 이를 평가하려고 시도했다는 의미입니다. 그럴 수 없었다. 그래서 오류가 발생했습니다. 그래서 이것은 완료되지 않았습니다. 다시 말하지만, 저장된 표현식이나 인용된 표현식을 평가하지 않고 검색해야 할 때 사용하는 함수는 Name Expr입니다. 그래서 저는 래핑할 것입니다. 죄송합니다. 괄호를 여십시오. Name Expr에서 yCol을 래핑하겠습니다. 그리고 이것을 테스트할 수도 있습니다. 그래서 무슨 일이 일어납니다. 방금 yCol을 실행한 경우 방금 발생한 오류가 표시됩니다. Name Expr yCol을 실행하면 로그에서 볼 수 있습니다. 죄송합니다. 크기를 조정하려고 합니다. JMP에서 오류가 발생하지 않는 것을 로그에서 확인할 수 있습니다. 그것은 단지 인용된 표현을 반환합니다. 그래서 이제 내가 라인을 실행하려고 할 때, 이번에는 문제가 있습니다. 그래서 JMP는 이번에 yCol 변수에 문제가 없었습니다. 그러나 이제 필요한 가치가 없는 유통을 보았습니다. 따라서 JMP가 이 플랫폼을 출시하는 것을 원하지 않습니다. 취소하겠습니다. Expr에서 배포를 래핑하고 싶기 때문에 JMP는 이를 전혀 평가하지 않을 것입니다. 그리고 다시 강조 표시하고 테스트하기 위해 실행할 수 있습니다. 문제가 발생하지 않습니다. 이제 이것을 실행할 때 로그를 보면 내가 실행한 코드 줄이 있습니다. 다음은 Y 역할이 포함된 분포와 그 안에 포함된 모든 열의 결과입니다. 그러면 마지막 부분은 줄에서 보았듯이 이 전체를 래핑하는 것입니다. 이것은 이것을 수행하는 한 가지 방법일 뿐입니다. 그러나 Eval 함수에서 전체 줄을 래핑합니다. 그리고 나는 그것을 실행합니다. 그리고 모든 배포 보고서가 있는 또 다른 배포 창이 있습니다. 그래서 저는 이것을 개발할 때 약간의 오류를 범하고 싶었습니다. 왜냐하면 그것이 사람들이 왜 우리가 이러한 것들을 우리 방식으로 작성하는지 이해하는 데 도움이 된다고 생각하기 때문입니다. 이제 제가 언급할 또 다른 사항은 우리가 일반적으로 권장할 것이라는 것입니다. 제가 첫 번째 치료 시간 분포를 수행할 때, 기억하시겠지만, 저는 분석, 분포로 이동했습니다. 저는 단순히 치료 시간을 Y 역할에 놓고 확인을 클릭했습니다. JMP가 이를 위해 작성할 스크립트를 가져와서 이 루프를 작성하기 위한 기초로 사용하는 것이 좋습니다. 배포판에서 그렇게 하지 않은 유일한 이유는 y 분석 역할이 있는 구문이 더 오래된 구문이기 때문입니다. 분포 옆에 있는 빨간색 삼각형으로 이동하여 스크립트 창에 스크립트 저장을 선택하면 새로운 구문이 각 열에 대해 개별적으로 연속 분포인지 명목 분포인지를 지정합니다. 따라서 이전 구문보다 해당 루프에서 스크립팅이 조금 더 많습니다. 이전 구문은 잘 작동합니다. 하지만 이 새로운 구문을 사용하는 것이 좋습니다. 조금 더 복잡한 루프입니다. 그러나 대부분의 플랫폼에서는 JMP가 우리를 위해 작성하는 스크립트를 사용하는 것이 좋습니다. 이 스크립트 창을 닫겠습니다. 그리고 대화식으로 무언가를 하는 예를 하나 더 살펴보겠습니다. 이번에는 그 스크립트를 캡처하겠습니다. 하지만 내 루프는 미리 작성되어 있습니다. 5가지 경화 시간 값의 관리도를 모두 보고 싶다고 가정해 보겠습니다. 분석 메뉴로 이동하여 대화식으로 시작하겠습니다. 품질 및 프로세스에서 Control Chart Builder를 선택하겠습니다. Day를 그 하위 그룹 역할에 넣고 Cure Time을 Y 역할에 넣고 싶습니다. 그리고 자동으로 제어 차트 빌더가 개별 측정 및 치료 시간의 이동 범위 차트를 제공하므로 이것이 시작점입니다. 완료를 클릭하여 제어판을 숨기겠습니다. 그런 다음 Control Chart Builder 및 Save Script to a Script Window 옆에 있는 빨간색 삼각형으로 이동합니다. 이 스크립트 편집기 창--이 스크립트 편집기 창. 이제 해당 결과를 다시 생성하는 Control Chart Builder가 포함됩니다. 이제 미리 작성된 스크립트와 일치시키기 위해 크기를 설정하는 줄을 삭제하겠습니다. 물론 이렇게 할 필요는 없습니다. 나는 단지 데모 목적으로 이것을 단순화하고 있습니다. 그래서 우리가 보는 것은 컨트롤 차트 빌더가 플랫폼 출시라는 것입니다. 그런 다음 몇 가지 옵션이 있습니다. 해당 부울을 사용하여 제어판을 숨기고 있습니다. 기능을 표시하지 않습니다. 그리고 이 변수 역할이 있습니다. 그리고 변수 역할에는 하위 그룹이 있습니다. 이는 모든 치료 시간 값에 대해 동일할 것입니다. 그리고 그것은 치료 시간과 함께 Y 역할을 합니다. 이 경우에는 치료 시간입니다. 그래서 우리가 실제로 해야 할 일은 세 가지를 구축하는 것입니다. 치료 시간 열을 사용하여 y 분석 역할을 구축하고 Y 역할에 모든 치료 시간 열이 있으면 여기에 추가하여 변수를 구성해야 합니다. 그런 다음 해당 변수를 Control Chart Builder 시작에 포함시키십시오. 저널로 돌아가서 Cure Time Control Charts를 클릭해 보겠습니다. 다시 말하지만, y 분석 역할을 구성하는 세 부분입니다. 그리고 그것은 우리가 한 것과 같습니다. 이 선들은 우리가 한 것, 배포판에서 본 것과 같습니다. 그리고 변수에 대해 다른 명명 규칙을 사용하고 있습니다. 그런 다음 변수 조각을 만들고 싶습니다. 그래서 저는 그냥 삽입 기능을 사용하고 있습니다. 모든 치료 시간 값에 대해 동일할 하위 그룹 Day와 함께 변수가 있습니다. 그러나 JMP가 단어 변수를 평가하는 것을 원하지 않습니다. 오류가 발생합니다. 그래서 나는 Expr을 사용할 것이다. 그런 다음 해당 스크립트의 배포와 마찬가지로 yExpr에 저장된 열 목록을 검색하고 이를 변수 조각에 추가합니다. 그런 다음 이 스크립트에서 실제로 변수 조각 없이 Control Chart Builder의 기본 템플릿을 만들고 변수 ccExpr에 저장합니다. 마지막으로 변수 라인을 추가하겠습니다. 다시 말하지만, 백그라운드에서 해당 코드를 보면 해당 변수 라인이 Control Chart Builder 실행에 추가될 것입니다. 그리고 이 경우 이미 정의한 인용된 표현이기 때문에 이 두 가지 모두에 대해 Name Expr을 사용했습니다. 이 삽입 함수를 eval에 래핑하지 않고 그 결과를 자체 변수에 저장합니다. 그런 다음 스크립트에서 cc를 사용하면 빌드된 표현식이 평가됩니다. 그래도 계속해서 디버거에 적용해 보겠습니다. 따라서 마우스 오른쪽 버튼을 클릭하고 디버그를 선택합니다. Watch 탭으로 이동하겠습니다. 다른 스크립트에서 현재 watch 변수를 제거하고 싶으므로 버튼을 클릭하여 모든 watch를 삭제하겠습니다. 그런 다음 이 스크립트의 4개 변수에 대해 4개의 감시를 추가하겠습니다. 녹색 더하기를 클릭하겠습니다. 먼저 yExpr을 입력하고 확인을 클릭합니다. 녹색 더하기를 다시 클릭하고 varExpr을 추가합니다. 그리고 대문자로 표기한 것은 중요하지 않지만, 여기 스크립트의 텍스트에 있는 내용과 일관성을 유지하기를 원할 뿐입니다. 확인을 클릭하겠습니다. ccExpr을 추가하고 싶습니다. 확인을 클릭합니다. 마지막으로 cc를 추가하고 확인을 클릭합니다. 여기서 세 개의 다른 위치에서 멈추고 싶기 때문에 세 개의 중단점을 넣을 것입니다. 따라서 첫 번째 중단점이 온라인 상태가 됩니다. 그러면 반복의 각 단계에서 무슨 일이 일어나는지 알 수 있습니다. 다음 중단점은 온라인일 것이므로 varExpr에 저장된 내용을 볼 수 있도록 일시 중지하겠습니다. 그리고 마지막으로 cc에 무엇이 저장되어 있는지 보기 위해 중단점을 줄에 넣습니다. 그리고 일단 우리가 이것을 무시하면, 그것은 평가될 것입니다. Step Over 버튼을 사용하여 디버거를 실행하겠습니다. 그래서 클릭합니다. 그리고 라인이 평가되고 루프에 도달합니다. 그리고 아래 Watch 탭을 보면 현재 저장되어 있는 내용과 yExpr을 확인할 수 있습니다. 그런 다음 Step Over를 다시 클릭하면 첫 번째 중단점으로 이동합니다. 세 번째로 Step Over를 클릭하면 yExpr에 Column Cure Time이 있는 것을 볼 수 있습니다. Step Over를 다시 클릭하여 해당 중단점으로 이동합니다. 한 번 더 클릭합니다. 이제 치료 시간을 Y 역할에 삽입했습니다. 그래서 나는 for 루프가 끝날 때까지 계속 할 것입니다. 그리고 이것을 본다면 5개의 경화 시간 열이 모두 해당 Y 역할에 있음을 알 수 있습니다. 이제 라인은 varExpr을 정의합니다. 이제 하위 그룹 Day가 있는 변수와 해당 열이 모두 포함된 Y 역할이 있습니다. Step Over를 다시 클릭하면 ccExpr을 정의한 위치로 이동합니다. 그리고 Watch 탭에서도 Control Chart Builder 실행을 저장하지만 중요한 부분이 누락되었음을 알 수 있습니다. 그리고 라인은 우리가 모든 것을 모으는 곳입니다. 그래서 한 번 더 넘어가겠습니다. 그리고 이제 이것을 확인하고 싶다면 Control Chart Builder, Show Control Panel 등의 varExpr에 저장된 값이 추가되었습니다. 한 번 더 건너뛰기를 클릭하겠습니다. 프로그램 실행이 종료됩니다. 중지를 클릭하겠습니다. 이제 JMP의 정규 세션으로 돌아가서 치료 시간 등에 대한 개별 측정 및 이동 범위 차트가 있음을 알 수 있습니다. 따라서 이 예제에서는 For 함수를 사용하고, Expr을 사용하고, Name Expr 함수를 Insert를 사용하여 사용한 다음, 이러한 간단한 컨텍스트에서 디버거를 사용하는 방법을 살펴봅니다. 저널로 돌아가서 스크립트 창에 대한 변경 사항을 저장하지 않고 모두 삭제를 클릭합니다. 이상으로 이번 시연을 마치겠습니다.