<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />저는 JMP 스크립트를 배우려고하는 새로운 사용자입니다. 나는 아주 간단한 스크립트를 보았지만 예상 된 결과를 얻었습니다. 누군가 내가 여기에 무슨 잘못을했는지에 대한 포인터를 줄 수 있습니다. 미리 감사드립니다. (BTW : 저는 JMP 8.02를 사용하고 있습니다)
다음과 같이 매우 간단한 테이블이 있습니다 (test1.csv).
| Tool_first | Tool_second | Process_time | Tool_third | Group_1 | Real_beta | 베이스 |
| 에이 | 기음 | 4/3/2011 0:53 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011/4/3 1:08 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011/4/3 5:27 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/3/2011 6:26 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 디 | 2011/4/3 6:39 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011/4/3 6:49 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/3/2011 18:43 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/3/2011 23:42 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011 년 4 월 4 일 5:20 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/4/2011 8:34 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/4/2011 10:43 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 디 | 2011/4/4 11:02 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/4/2011 13:57 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/4/2011 14:28 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 디 | 4/4/2011 16:43 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011-04-04 20:01 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 2011-04-04 20:17 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 디 | 2011 년 4 월 4 일 21:45 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/5/2011 18:20 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 디 | 4/5/2011 20:02 | 이자형 | AE | 0.0058 | 와이 |
| 에이 | 기음 | 4/5/2011 20:35 | 이자형 | AE | 0.0058 | 와이 |
다음 스크립트는 .csv 파일을 읽고 한 행과 이전 행을 비교하여 두 개의 열을 테이블에 추가했습니다. 내 스크립트가 아래에 있습니다.
Source_Table = Open ( "c : \ test1.csv");
Source_Table << 정렬 (group_1, process_time), 순서 (오름차순), 테이블 교체);
새 열 ( "Inspect_pt",
공식(
if (row () == 1,1)
(group_1 [row ()]! = : group_1 [row () - 1]), 1,
(: group_1 [행 ()] == : group_1 [행 () - 1]), 0)));
새 열 ( "tool_Change",
공식(
if (row () == 1,1)
(: tool_second [row ()]! = tool_second [row () - 1]), 1,
(: tool_second [row ()] == : tool_second [row () - 1]), 0
)
)
);
쇼 (현재 데이터 테이블 ());
/ * 마지막 두 컬럼의 값을 출력하려고 시도한다 * /
for (i = 1, i , : tool_Change ););
결과 테이블은 정상이지만 스크립트의 마지막 행은 새로 작성된 두 개의 컬럼에서 결과를 리턴하지 않습니다. 로그 창은 인덱스가 :: i가되었음을 보여줍니다.
출력 테이블 :
[누락 된 이미지]
그러나 로그 창에는 마지막 두 열의 결과가 올바르게 꺼내지지 않은 것으로 나타났습니다. 잘못된 색인 생성을 사용 했습니까? 로그 창 출력은 다음과 같습니다.
현재 데이터 테이블 : DataTable ( "test1")
i : 1
행 : 1
: Inspect_pt [:: i] :. <- 올바르지 않습니다.
: tool_Change [:: i] :. <- 올바르지 않습니다.
i : 2
행 : 2
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
나는 : 3
행 : 3
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
i : 4
행 : 4
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
귀중한 정보에 대해 모두에게 감사드립니다. 이 포럼은 훌륭합니다.
이것은 진행 방법을 결정하기 위해 이전 프로세스의 값을 사용하는 스크립트를 작성할 때 특히 중요합니다 (예 : 하위 집합하려면 Where (: tool_change == 1)을 선택하십시오. 이와 같은 코드 블록 끝에 '수식 실행'줄을 삽입하면 JMP에게 일시 중지하고 보류중인 모든 수식을 평가 한 다음 나머지 스크립트를 진행하도록 지시합니다.
나는 'eval formula'의 행동에 친숙하지 못하다. (일반적으로 '수식'을 사용한다. 습관에 불과하다.) 그래서 이것은 추측이지만, 특정 프로세스에 따라 나는 ' (즉, 결정을 내릴 수있는 공식 하나만 신경 쓰면 그 공식 만 평가하여 나중에 나머지 공식 평가를 저장할 수 있습니다). 여기서 차이점은 정말 필요한 수식 계산의 수와 수행 할 시간을 결정하는 것입니다.
안녕하세요
JMP는 다음 명령으로 이동하기 전에 하나의 "명령"을 완료하지 않습니다. '새로운 열'명령을 읽고 실행을 시작하지만 계속해서 다음 명령을 읽고 수행합니다.
여기서 일어나는 일은 JMP가 'show'명령을 사용하여 마지막 줄을 읽기 전에 'New Column'명령이 실행을 완료하지 않은 것입니다 (이 명령 유형은 그래픽을 업데이트해야하기 때문에 특히 시간이 걸립니다). 이 명령이 실행될 때 열의 값.
위의 수식을 '내리거나' '새 열'명령에 직접 '평가 수식'을 입력하십시오.
새 열 ( "제목", 숫자, 수식 (: X1 * : X2), 평가 수식);
내가 아는 한 두 가지 접근법은 같은 효과를냅니다.
BR, Marianne
추신 : 저는 JMP 출신이 아닙니다.
안녕 안녕,
왜 당신이이 진술을 필요로하는지 정확히 모르겠다. 나는 JMP 기술 지원에서 그것을 얻었다. 아마도 JMP의 누군가가 설명 할 수 있을까요?
문안 인사,
베드로
감사합니다 PMroz. 그건 속임수 였어. 내 자신의 이익을 위해 계속 진행되고있는 일에 대해 자세히 설명해 주시겠습니까? 그리고이 기능을 사용하려면 추가 선이 필요한 이유는 무엇입니까? 다시 한 번 감사드립니다.
이 문장을 사용하여 JMP의 수식 버퍼를 "플러시"하십시오.
Source_Table << 수식 실행;
수식 정의 뒤에이 줄을 추가하십시오.