<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />jmp에서 스크립팅을 처음 접하는 것. 나는 이것에 관한 질문을 가지고있다, 내가 쓴 스크립트가있다. 제가하려는 것은 제가 두 개의 테이블을 가지고 있다는 것입니다. 테이블 하나에는 각 테스트의 한계가 있습니다. 예를 들어, (실제 테이블에는 수천 개의 테스트가 있습니다. 이것은 단지 예일뿐입니다)
1 번 테이블
| 테스트 | 하한 | 상한 |
|---|
| 테스트 1 | 삼 | 10 |
| 테스트 2 | 3.4 | 12 |
| 시험 3 | 5 | 12 |
그리고 다른 테이블 (몇 천개 길이의 열)에는 테스트 결과가 들어 있습니다.
표 2
| 테스트 1 | 테스트 2 | 테스트 3 |
|---|
| 5 | 6 | 8 |
| 5 | 6.1 | 8.11 |
| 5.2 | 6.23 | 8.12 |
그리고 내가하고자하는 것은 몇 가지 선택된 테스트 (4 또는 5)에 대한 두 번째 테이블에 대한 가변성 도표를 플로팅하는 것이며, 가변성 차트가 첫 번째 테이블의 한계에 따라 기준선을 자동으로 플롯하도록하고 싶습니다 한도. 이제 나는 내 스크립트를 완성하는 방법을 모르는 이런 상황에 처해있다. 현재는 이렇게 보입니다. 고정 점에서 "1"이라고 말하면서 기준선을 그릴 수 있습니다. 하지만 내가 할 수 있기를 원하는 것은 사용자가 플롯하기로 결정한 테스트를 추출하고 첫 번째 데이터 테이블에서 한도를 추출한 다음 한도를 기준선으로 그려 보는 것입니다.
가변성 차트의 사용자가 선택한 매개 변수 (X 및 Y)를 추출하고 기준선을 찾기 위해 한계를 검색하는 방법을 사용할 수 있습니까? 현재, 내 코드는 다음과 같습니다.
dt_data1 = 데이터 테이블 (1); // Limits 테이블
dt_data2 = 데이터 테이블 (2); // 실제 데이터 테이블
// GUI 창 시작
// ------------------------------------------------ --------------------------------------------------
ColSel = 필터 콜 선택기 (데이터 테이블 (dt_data1), 250, 10, ColumnToPlot = ColSel << Get Selected);
ColSel << 세트 최대 선택 (2); // 허용되는 최대 허용 열은 1입니다.
win = 새 창 ( "Test",
<< 모달,
텍스트 상자 ( "변동성 도표 작성을위한 열"),
ColSel,
이동 = 버튼 상자 ( "OK",
ColumnToPlot = ColSel << 선택 가져 오기
);
);
// ------------------------------------------------ -----------------------------------------------
// GUI 창 끝
기다리십시오 (1);
현재 데이터 테이블 (dt_data2);
Colnames = dt_data2 << 열 이름 얻기 (숫자, 문자열);
LowerLimit = colnames [2];
UpperLimit = colnames [3];
현재 데이터 테이블 (dt_data1);
변동성 차트 (
최대 Iter (100),
전환 제한 (0.00000001),
숫자 통합 가로 좌표 (128),
숫자 기능 평가 (65536),
분석 유형 ( "최상의 분석 선택 (EMS REML Bayesian)"),
포인트 Jittered (1),
상자 그림 표시 (1),
표준 Dev Chart (0),
쇼 범위 막대 (1),
SendToReport (
급파(
"",
"2",
ScaleBox,
{참조 선 추가 (0, "솔리드", "블랙", "", 1),
참조 선 추가 (1, "솔리드", "블루", "", 2); } // 가져온 값으로 1을 바꿉니다.
)
)
);
컬럼 속성을 사용하여 제한을 설정할 수 있음을 지적 해 주셔서 감사합니다!
제한 데이터 테이블의 측정 데이터 테이블에있는 각 열의 사양 제한 열 속성으로 제한을 이동하면 가변성 차트 플랫폼에 자동으로 제한이 표시됩니다.
여기에 "가져 오기 제어 한계"에 게시 된 질문에 대답하기 위해 최근에 쓴 스크립트가 있습니다. 이 스크립트는 한계 데이터 테이블을 읽고이를 측정 데이터 테이블로 옮깁니다.
//이 스크립트를 실행하기 전에 측정 및 제한 데이터 테이블을 엽니 다.
// 답장에 첨부 된 두 파일을 사용하는 경우 dtmeas = 및
// dtlim = 아래의 명령문은 올바른 데이터 테이블을 가리키고 있습니다. 하지만
// 다른 데이터 테이블을 사용하면 데이터 테이블 이름을 변경해야합니다.
기본 이름은 여기에있다. ( 1 ) ;
dtmeas = 데이터 표 ( "측정 테이블" ) ;
dtlim = 데이터 표 ( "한계 테이블" ) ;
// 각 그룹이 다른 그룹에 있도록 성적 코드를 기반으로 데이터 테이블을 분할합니다.
// column
dtsplitmeas = dtmeas << 스플릿 ( 분할 기준 ( : GRDBWT ) , 스플릿 ( : ACC 기초 무게 ) ) ;
// 실제로는 다른 분할 데이터 테이블에서 열 이름을 가져옵니다.
// 학년 코드
칼 = dtsplitmeas << 열 이름을 얻는다. ( 끈 ) ;
// 분할 된 데이터 테이블을 반복하고 해당 열의 값을
// dtlim 데이터 테이블. 사양 제한 및 제어 제한 채우기
에 대한 ( 나는 = 1 , 나는 <= N Cols ( dtsplitmeas ) , 나는 ++,
리무우 = 시험 ( ( dtlim << 행을 가져오다. ( dtlim : Gradecode == 칼 [ 나는 ] )) 1 ] , . ) ;
만약 ( 누락 ( limRow ) == 0 ,
명세서 = { LSL ( . ) , USL ( . ) , 목표 ( . ) , 한계 표시 ( 1 }} ;
명세서 [ "LSL" ] = dtlim : 낮은 [ 리무우 ] ;
명세서 [ "목표" ] = dtlim : 타그 [ 리무우 ] ;
명세서 [ "USL" ] = dtlim : 높은 [ 리무우 ] ;
기둥 ( dtsplitmeas , 숯 ( 칼 [ 나는 ] ) ) << 속성 설정 ( "spec limits" , 평가 ( 명세서 ) ) ;
통제 한계 = { XBar ( 평균 ( 에이 ) , LCL ( 비 ) , UCL ( 기음 ) }} ;
대용품으로 ( 통제 한계 , Expr ( 에이 ) , dtlim : 경고 [ 리무우 ] ) ;
대용품으로 ( 통제 한계 , Expr ( 기음 ) , dtlim : 우먼 [ 리무우 ] ) ;
대용품으로 ( 통제 한계 , Expr ( 비 ) , dtlim : targ [ 리무우 ] ) ;
기둥 ( dtsplitmeas , 숯 ( 칼 [ 나는 ] ) ) << 속성 설정 ( "통제 한계" , 평가 ( 통제 한계 ) ) ;
) ;
) ;