안녕,
사양 제한(속성)이 있는 여러 열에 대해 스택별로 새 테이블을 수행하고 초기 테이블 속성에 따라 각 레이블의 사양이 낮고 사양이 높은 두 개의 새 열을 생성하려면 어떻게 해야 합니까?
참조 부착
가능하면 합격/불합격 열도
미리 감사드립니다!
아사프
이에 대해 알아보는 가장 좋은 방법은 스크립팅 가이드를 참조하는 것입니다.보다:
도움말==>도서==>스크립팅 가이드........열 구성 대화 상자
정말 감사합니다!!
귀하의 지원을 통해 다음 스크립트를 수행했습니다.
- BTW, 팝업 창을 추가하여 빨간색 선을 수정하려면 어떻게 해야 합니까?
@txnelson 쓴 :
다음은 이를 수행하는 한 가지 방법을 설명하는 간단한 스크립트입니다.
Names Default To Here( 1 );
dtOrig = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// Modify the data to make it simpler for the example
dtOrig << delete columns( 10 :: 132 );
dtOrig << delete columns( 1 :: 4 );
dtOrig << select where( Row() > 50 );
dtOrig << delete rows;
// Stack the data
dtStacked = dtOrig << Stack(
columns( :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 ),
Source Label Column( "Parameter" ),
Stacked Data Column( "Value" ),
Output Table( "Stacked" )
);
// Create the new columns
dtStacked << New Column( "Lower Spec Limit" );
dtStacked << New Column( "Upper Spec Limit" );
// Move the Spec Limits
colList = dtOrig << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "spec limits" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:Lower Spec Limit[foundRows] = specs["LSL"];
dtStacked:Upper Spec Limit[foundRows] = specs["USL"];
);
// 데이터 쌓기
dtOrig = currentdatatable();
dtStacked = dtOrig << 스택(
열( 26::42 ),
소스 레이블 열( "매개변수" ),
누적 데이터 열( "값" ),
출력 테이블( "누적" )
);
// 새 열 생성
dtStacked << New Column( "사양 하한" );
dtStacked << 새 열( "사양 상한" );
// 사양 제한 이동
colList = dtOrig << 열 이름 가져오기( 문자열 );
For( i = 1, i <= N 항목( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "사양 제한" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:사양 하한[foundRows] = 사양["LSL"];
dtStacked:사양 상한[foundRows] = 사양["USL"];
);
New Column("P/F", 숫자, "연속", Formula((:사양 하한 <= :값 <= :사양 상한) == 0));
다음은 이를 수행하는 한 가지 방법을 설명하는 간단한 스크립트입니다.
Names Default To Here( 1 );
dtOrig = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// Modify the data to make it simpler for the example
dtOrig << delete columns( 10 :: 132 );
dtOrig << delete columns( 1 :: 4 );
dtOrig << select where( Row() > 50 );
dtOrig << delete rows;
// Stack the data
dtStacked = dtOrig << Stack(
columns( :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 ),
Source Label Column( "Parameter" ),
Stacked Data Column( "Value" ),
Output Table( "Stacked" )
);
// Create the new columns
dtStacked << New Column( "Lower Spec Limit" );
dtStacked << New Column( "Upper Spec Limit" );
// Move the Spec Limits
colList = dtOrig << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "spec limits" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:Lower Spec Limit[foundRows] = specs["LSL"];
dtStacked:Upper Spec Limit[foundRows] = specs["USL"];
);