txnelson 、
しばらく前にこのアドインを投稿してください.. しかし、私はすべての選択をしなくてもこれをスクリプトに組み込む方法を知りたいのですが、とても便利です。これは、このバージョンのより良いバージョンがどこかに存在しない限りです。投稿は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"を持つ新しい列を作成します。 「合格」または「不合格」の値はありません。 そうは言っても、「合格」と「不合格」が表示されますが、これは「値ラベル」が設定されているColumnプロパティのためです。 値ラベルは列の実際の値を変更するのではなく、表示される値を変更するだけです。
私はあなたが以下を読んでいくらかの時間を費やすことを勧めます:
ヘルプ==>本==> JMPを使う
そして
ヘルプ==>本==>スクリプトガイド
氏。 txnelson 、
私はアドインを開いて私のものに組み込むためにスクリプトを抽出することができました。しかし、私はそれを実行している問題を抱えています。Include()を試してから、mainを参照しました。私のスクリプトに参加してからOpen( "xxxxxx"、Run JSL(1))を実行しました。そしてOpen( "xxxxx"、main)でもあります。
どちらの方法もうまくいきませんでした。どうやって実行させるかについてアドバイスをください。
ありがとうございます。 これが解決された後、私はあなたに尋ねるべきいくつかのより多くの質問があります。
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メニューの下にあるManage Spec Limitsプラットフォームをチェックしてください。
IT部門がJMP 14のライセンスを提供するのを待っています。半導体ツールキットは12、または少なくとも私がダウンロードしたものでは動作しません。
ファイル交換に行き、コードを見ます。
私は他にもいくつかのスクリプト[Tabulate Yield Script.jsl]とあなたが返信したものを使っています。私はそのファイルをチェックアウトさせてください、そして私はまもなくあなたに戻ります。
ありがとう
制限テーブルからデータテーブルへの書き込み制限が更新されました。 また、それはSemiconductor Toolkitに追加されました
File Exchangeから最新バージョンをダウンロードしてインストールすると、JSLが使用されていることがわかります。