안녕하세요,
매우 큰 데이터 테이블 (약 6 백만 행)이 있습니다. 특히 열에는 날짜 열, 제품 참조 열 및 결과 열이 있습니다 (두 가지 가능한 값 : OK 또는 NOK). 각 행은 구성 요소 테스트에 해당합니다.
사용자가 기간이나 날짜를 선택할 수 있도록하고 싶습니다. 이 기간부터 선택한 기간 동안 수행 된 테스트 횟수와 비교하여 백분율로 가장 많은 결과 == NOK를 가진 5 개의 제품 참조를 찾아 추출 할 수 있기를 바랍니다.
나는 이것을 최적으로 스크립트하는 방법을 모른다.
저에 대한 아이디어가 있으면 미리 감사드립니다.
안녕하세요, 여러 가지 방법이 있습니다. 특히 좋은 방법 중 하나는 분석을 진행하기 전에 사용자에게 시작 및 종료 날짜를 묻는 쿼리 후 스크립트가있는 JMP 쿼리 작성기를 사용하는 것입니다. 이와 같은 작업을 위해 JMP Query Builder에 대해 배우는 것이 좋습니다. 안타깝게도 여기에 입력하기에는 너무 많습니다.
여전히 잘 작동하는 간단한 대안을 제시하겠습니다.
첫째, "OK"및 "NOK"와 같은 것을 표시하기 위해 값 레이블을 사용하여 1/0 데이터를 1과 0으로 숫자로 저장하는 것이 좋습니다. 귀하의 경우 1 => "OK"및 0-> "NOK"를 사용할 수 있습니다. (첨부 된 데이터 표 참조)
그룹별로 평균을 요약하면 각 그룹에서 "OK"의 비율이 즉시 제공되므로 이것을 권장합니다. 1과 0이 반전 된 경우 평균은 "NOK"비율을 제공합니다.
따라서 변경 사항을 적용하여 한 가지 더 수행합니다. 테이블 변수를 추가합니다. 테이블 이름 근처에있는 빨간색 삼각형을 마우스 오른쪽 버튼으로 클릭하고 새 테이블 변수를 선택합니다. 새 테이블 변수의 이름을 지정하고 초기 값을 지정할 수있는 대화 상자가 표시됩니다.

"Begin"및 "End"에 대해이 작업을 수행하면 공식 및 스크립트의 열처럼 사용할 수있는 두 개의 값 (이 경우에는 문자열이지만 숫자도 작동 함)을 정의 할 수 있습니다. 나중에 값을 변경하려면 해당 값을 두 번 클릭하여 편집하십시오.
동일한 빨간색 삼각형 메뉴를 사용하여 데이터 테이블에 새 스크립트를 추가 할 수 있습니다. "Worst 5"라는 스크립트를 추가하고 아래 스크립트의 텍스트를 붙여 넣었습니다.
Names Default To Here(1);
dt = Current Data Table();
//change table variable strings to times. the format used for the string must be one that JMP recognizes.
beg = informat(dt:Begin);
end = informat(dt:End);
//subset the table to get only those rows in the time interval of interest
dtSub = dt << subset(selected Columns (0), rows(dt << get rows where (beg < :date < end)));
//summarize this new table to find averages of the OK column, grouping by product. This will be the proportion of "good"
dtSubSum = dtSub << summary(group(:product), mean(:OK));
//sort this new table, ascending
dtSubSum << sort(replace table, by(:"Mean(OK)"n), order(ascending));
//the first 5 rows now have the lowest proportion of "good", hence highest proportion of "bad"
dtSubSum << subset(selected Columns(0), rows(1::5));
//close the first subset table, and the summary table linked to it.
close(dtSub, nosave);

이제 원하는 보고서를 쉽게 얻을 수 있습니다.
1) 원하는대로 시작 및 끝 값을 변경합니다.
2) "최악의 5"스크립트에서 녹색 버튼을 눌러 결과를 얻습니다.
다시 말하지만이 작업을 수행하는 데는보다 세련된 방법이 있지만 JMP Query Builder 또는 대화 형 창 (디스플레이 트리) 스크립팅에 대한 지식이 필요합니다. 이 두 가지를 모두 배우는 것이 좋지만 그 동안 테이블 변수와 기본 테이블 작업으로 수행 할 수있는 작업이 많이 있습니다.
스크립팅이없는 또 다른 옵션 :
1) Tabulate 플랫폼을 사용하여 평균을 계산하고 로컬 데이터 필터를 사용하여 고려되는 날짜 범위를 제한합니다.
2) 완성 된 Tabulate 보고서 테이블을 마우스 오른쪽 버튼으로 클릭하고 Make into Data Table을 선택한 다음 결과 데이터 테이블을 정렬하여 5 개의 "최악"행 (즉, 5 개의 가장 낮은 OK 평균)이 테이블의 맨 위에 오도록합니다.
3) 원하는 경우이 5 개 행과 하위 집합을 선택합니다.
이 아이디어 중 하나가 시작하는 데 도움이되기를 바랍니다.
건배,
브래디