텍사스 넬슨 ,
이 추가 기능을 얼마 전 게시 해주십시오. 그것은 매우 유용하지만 모든 선택을 할 필요없이 스크립트에 이것을 통합하는 방법을 알고 싶습니다. 어딘가에 더 좋은 버전이 없다면 그건 .. 게시물은 5 년 전이었습니다. 그래서 새로운 것이 있는지 확실하지 않습니다.
데이브
내 게시물은 약간 조숙한데 사과드립니다. 나는 내 스크립트에서 .jsl (쓰기 제한 ...) 단계를 수행하는 방법을 알아 냈습니다 ... 이제는 .jsl에서 Tabulate Yield .jsl로 이동해야합니다.
Include () 함수는 스크립트에 직접 코드를 입력 한 것처럼 작동합니다. 당신이 대본을 가지고 있다면
x = 22;
이 파일을
c : \ myfile.jsl
그 다음 대본을 가지고 있었다.
Names Default to Here( 1 );
x = 44;
include( "c:\myfile.jsl" );
print( x );
출력 된 값은 22가 될 것입니다. 코드는 마치 스크립트가있는 것처럼 해석됩니다.
Names Default to Here( 1 );
x = 44;
x = 22;
print( x );
이제 스크립트에 통합 한 코드와 관련하여 ..... "0"및 "1"이있는 새 열을 만듭니다. "합격"또는 "실패"값이 없습니다. 즉, "Pass"및 "Fail"이 표시되지만 Column 속성, "Value Labels"가 설정 되었기 때문입니다. 값 레이블은 열의 실제 값을 변경하지 않고 표시된 값만 변경합니다.
다음 내용을 읽는 데 시간을 할애하는 것이 좋습니다.
도움말 ==> 서적 ==> JMP 사용하기
과
도움말 ==> 서적 ==> 스크립팅 가이드
씨. 텍사스 넬슨 ,
Add-In을 열었고 스크립트를 추출하여 광산에 통합 할 수있었습니다. 그러나, 나는 그것을 실행하는 데 문제가 있습니다. 나는 Include ()를 시도한 다음 주를 참조했다. 내 스크립트의 일부분을 실행 한 다음 Open ( "xxxxxx", Run JSL (1))을 수행합니다. 심지어 Open ( "xxxxx", 메인);
그 방법들도 효과가 없었습니다. 실행 방법에 대한 조언을 좀주세요.
감사합니다 사전 .. 이 일이 끝나면 나 한테 물어볼 질문이 더있어.
dt_tablelimits_tx = Open( "limitstable.jmp", invisible);
current data table ( ::dt_testdata_tx );
// Trying to open and run the "Write Limits to Table" script
// The script you wrote to assign value labels based on the "Write Limits to Table"
dt = current data table();
// Get all numeric columns
colList = dt << get column names( numeric, string );
foundCols = "";
// Loop across the columns and generate the test pass/fails
For( i = 1, i <= N Items( colList ), i++,
spec = Column( dt, colList[i] ) << get property( "Spec Limits" );
dt << clear select;
If( Is Empty( spec ) == 0,
dt << New Column( (Column( dt, colList[i] ) << get name) || " Pass_Fail" );
If( Is Missing( Try( spec["LSL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) < spec["LSL"] );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
If( Is Missing( Try( spec["USL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) > spec["USL"], current selection( "extend" ) );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
dt << invert row selection;
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 1 );
Column( dt, N Cols( dt ) ) << set property( "Value Labels", { 0 = "Fail", 1 = "Pass" } );
If( foundCols == "",
foundCols = ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")",
foundCols = foundCols || ", " || ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")"
);
);
);
dt << clear select;
// The script you wrote called Tabulate Yield has ... Pass_Fail == "Pass" however I can only get it to populate using .. Pass_Fail == 1
dt << New Column( "TxCH0 Numberic Pass", formula( value_ss_TxCH0 Pass_Fail == 1 ) );
dt << New Column( "TxCH1 Numberic Pass", formula( value_ss_TxCH1 Pass_Fail == 1 ) );
dt << New Column( "TxCH2 Numberic Pass", formula( value_ss_TxCH2 Pass_Fail == 1 ) );
dt << New Column( "TxCH3 Numberic Pass", formula( value_ss_TxCH3 Pass_Fail == 1 ) );
dt << New Column( "TxCH4 Numberic Pass", formula( value_ss_TxCH4 Pass_Fail == 1 ) );
dt << New Column( "TxCH5 Numberic Pass", formula( value_ss_TxCH5 Pass_Fail == 1 ) );
dt << New Column( "TxCH6 Numberic Pass", formula( value_ss_TxCH6 Pass_Fail == 1 ) );
dt << New Column( "TxCH7 Numberic Pass", formula( value_ss_TxCH7 Pass_Fail == 1 ) );
dt << New Column( "TxCH8 Numberic Pass", formula( value_ss_TxCH8 Pass_Fail == 1 ) );
dt << New Column( "TxCH9 Numberic Pass", formula( value_ss_TxCH9 Pass_Fail == 1 ) );
dt << New Column( "TxCH10 Numberic Pass", formula( value_ss_TxCH10 Pass_Fail == 1 ) );
dt << New Column( "TxCH11 Numberic Pass", formula( value_ss_TxCH11 Pass_Fail == 1 ) );
dt << New Column( "TxCH12 Numberic Pass", formula( value_ss_TxCH12 Pass_Fail == 1 ) );
dt << New Column( "TxCH13 Numberic Pass", formula( value_ss_TxCH13 Pass_Fail == 1 ) );
dt << New Column( "TxCH14 Numberic Pass", formula( value_ss_TxCH14 Pass_Fail == 1 ) );
dt << New Column( "TxCH15 Numberic Pass", formula( value_ss_TxCH15 Pass_Fail == 1 ) );
new column ( "TxTally" ) << formula( sum(
:TxCH0 Numberic Pass, :TxCH1 Numberic Pass, :TxCH2 Numberic Pass,
:TxCH3 Numberic Pass, :TxCH4 Numberic Pass, :TxCH5 Numberic Pass,
:TxCH6 Numberic Pass, :TxCH7 Numberic Pass, :TxCH8 Numberic Pass,
:TxCH9 Numberic Pass, :TxCH10 Numberic Pass, :TxCH11 Numberic Pass,
:TxCH12 Numberic Pass, :TxCH13 Numberic Pass, :TxCH14 Numberic Pass,
:TxCH15 Numberic Pass
)
);
dt << select where( :TxTally != 16 ) << delete rows;
show( LotListSQLString );
PO가 배치되고, 승인되었으며 이제 우리는 롤아웃을 기다리고 있습니다. 나는 분배의 1 라운드에 대한 목록에 있지만 그것은 영원히 복용 ..
대시 보드가 좋지 않은데 ..
정보에 대해서 감사드립니다.. JMP 14에서 YouTube 동영상을 시청해야 할 것입니다.
버전 14를 설치하면 Analyze -> Quality and Process 메뉴에서 Spec Spec Limits 플랫폼을 체크 아웃 할 수 있습니다.
IT 부서에서 JMP 14의 라이센스를 담당 할 때까지 기다리고 있습니다. 반도체 도구 키트는 12 또는 적어도 내가 다운로드 한 하나를 위해 작동하지 않습니다 ..
파일 교환에 가서 코드를 볼 것입니다.
나는 또한 다른 스크립트 [Tabulate Yield Script.jsl]와 답장에 게시하는 두 가지 스크립트를 사용하고 있습니다. 그 파일을 체크 아웃시켜 드리 자면 곧 연락 드리겠습니다.
감사
제한 테이블의 데이터 테이블에 대한 쓰기 제한이 업데이트되었습니다. 또한, 그것은 반도체 툴킷에 추가되었습니다.
File Exchange에서 최신 버전을 다운로드하여 설치하면 사용 된 JSL을 볼 수 있습니다.