100개의 장치와 300개의 테스트 항목이 있는 테이블이 있습니다. 사양 열에는 LSL, USL이 별도로 포함되어 있습니다. 사양 제한이 포함된 가변성-속성 게이지 차트를 플롯하고 싶습니다. 방법을 보여주시거나 이 주제에 대한 기존 토론이 있는 경우 저에게 알려주십시오. 감사해요.
샘플 데이터 테이블:
| 장치 | 테스트 이름 | 측정 | LSL | USL |
| 1 | 테스트1 | 230 | 200 | 240 |
| 1 | 테스트2 | 20 | 15 | 25 |
| 1 | 테스트3 | 30 | 25 | 35 |
| 2 | 테스트1 | 234 | 200 | 240 |
| 2 | 테스트2 | 22 | 15 | 25 |
| 2 | 테스트3 | 29 | 25 | 35 |
| 삼 | 테스트1 | 229 | 200 | 240 |
| 삼 | 테스트2 | 21 | 15 | 25 |
| 4 | 테스트1 | 230 | 200 | 240 |
| 4 | 테스트2 | 21 | 15 | 25 |

원하는 것의 주요 문제는 데이터가 가변성-속성 차트 플랫폼을 실행하기 위한 적절한 형식이 아니라는 것입니다.아래 스크립트는 지정한 열이 있는 데이터 테이블을 원하는 차트를 생성하는 데 사용할 수 있는 데이터 테이블로 변환합니다.
Names Default To Here( 1 );
dt = Current Data Table();
// Make a list of the Tests
Summarize( dt, testList = by( :Test Name ) );
dtSplit = dt << Split(
Split By( :Test Name ),
Split( :Measurement, :LSL, :USL ),
Group( :Device ),
Sort by Column Property
);
// Rename the test columns and set the Spec Limits
For( i = 2, i <= N Items( testList ) + 1, i++,
// Assign the new names
Column( dtSplit, i ) << set name( Substr( Column( dtSplit, i ) << get Name, 13 ) );
// Set the Spec Limits
Eval(
Substitute(
Expr(
Column( dtSplit, i ) << set property(
"Spec Limits ",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __LSL__ ), Col Mean( As Column( dtSplit, i + N Items( (testList) ) ) ),
Expr( __USL__ ),
Col Mean( As Column( dtSplit, i + 2 * N Items( (testList) ) ) )
)
);
);
// Delete unwanted limits columns
dtSplit << delete columns( Index( N Items( testList ) + 2, N Cols( dtSplit ) ) );