JSL はプロセス能力で使用される列を自動化しますこんにちは、
そこで、ツールバーのボタンをクリックしてプロセス機能を実行できるJSLスクリプトを作成したいと思います。プロセス変数を除くすべてのものをコード化しました。以下のコードを参照してください。 「プロセス変数()」に列を動的に追加するにはどうすればよいですか
func_Process_Cap = Function({summ_table,spec_table},
// local vars
{},
Process Capability(
Process Variables( // hard coded - not ideal
:Name( "column1" ), //some columns are preseeded by :name()
:column2 // some are not
),
Spec Limits(
Import Spec Limits(spec_table) // dynamic
),
Individual Detail Reports( 1 ),
Capability Box Plots( 0 ),
Overall Sigma Summary Report( 1 ),
Goal Plot( 0 ),
Capability Index Plot( 0 ),
Order By( "Overall Sigma Ppk Ascending" ),
);
);Re: JSL がプロセス能力で使用される列を自動化するよく働く!スクリプトに pcVar = Eval(.... を追加しました。これでウィンドウにコマンドを送信できるようになりました。pcVar << Goal Plot(0); さらなるカスタマイズのために。将来これを見る人のために!
pcVar =Eval(Parse("dt << プロセス能力(
プロセス変数( "|| TheVars|| ") ) 、
);"));
pcVar <Re: JSL がプロセス能力で使用される列を自動化するこれを試して
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Create a complex name for a column to make sure it will be
// processed correctly
dt:NPN1 << set name( "NPN1-7/Best" );
// Get a list of columns to be used
colList = dt << get column names( continuous, string );
ProcessFunc = Function( {TheList},
// Move them into a single literal string of the format required
// for the Process Variables element in the Process Capability
// platform
TheVars = ":Name(\!"" || TheList[1] || "\!")";
For( i = 2, i <= 10, i++,
TheVars = TheVars || "," || ":Name(\!"" || TheList[i] || "\!")"
);
// Run the Process Capability platform, using the literal
// string "TheVars"
Eval(Parse("dt << Process Capability(
Process Variables( "|| TheVars|| ") ) ,
Goal Plot( 1 ), Capability Index Plot( 1 )
);"));
);
Return = ProcessFunc( colList );Re: JSL がプロセス能力で使用される列を自動化する良いスタートですが、最初の列しか受け入れられません。ダミーデータテーブル(column1,column2,column3)を作成し、ダミーデータの分析を保存したスクリプトと一致するように文字列の見た目を変更しましたが、それでも最初の列のみを受け入れます。さまざまな方法を試して、何か見つかったらまた報告します。
Re: JSL がプロセス能力で使用される列を自動化する私が書いたスクリプト (以下を参照) が、行きたい方向への方向性を示してくれるかどうかは、よくわかりません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Create a complex name for a column to make sure it will be
// processed correctly
dt:NPN1 << set name( "NPN1-7/Best" );
// Get a list of columns to be used
colList = dt << get column names( continuous, string );
ProcessFunc = Function( {TheList},
// Move them into a single literal string of the format required
// for the Process Variables element in the Process Capability
// platform
TheVars = ":Name(\!"" || TheList[1] || "\!")";
For( i = 2, i <= N Items( TheList ), i++,
TheVars = TheVars || "," || ":Name(\!"" || TheList[i] || "\!")"
);
// Run the Process Capability platform, using the literal
// string "TheVars"
dt << Process Capability(
Process Variables( Eval( Parse( TheVars ) ) ),
Goal Plot( 1 ), Capability Index Plot( 1 )
);
);
Return = ProcessFunc( colList );