JSLを使用して、管理図を作成したり、テストをカスタマイズしたり、警告スクリプトを実行したりできます。
Customize Tests関数を使用すると、カスタムテストを作成し、複数のテストを一度に選択または選択解除できます。テスト名、n、ラベルを指定できます。このオプションは、計量値または計数値の管理図でのみ使用できます。
次の例は、「Test 1」というカスタムテストを作成し、そのテストをオンにします。
dt = Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
dt << Control Chart Builder(
Variables( Subgroup( :日付 ), Y( :直径 ) ),
Customize Tests( Test 1( 2, "1" ) ), // テスト番号、n、ラベル
Chart( Position( 1 ), Warnings( Test 1( 1 ) ) ), // 「テスト1」をオンにする
Chart( Position( 2 ) )
);
警告スクリプトは、1つ以上のテストで異常が検出された場合に警告をします。警告スクリプトおよびそれに続くJSLスクリプトでは、次の変数を使用できます。
qc_col(列の名前)
qc_test(異常が検出されたテスト)
qc_sample(標本番号)
qc_firstRow(標本の第1行)
qc_lastRow(標本の最終行)
警告が自動的に実行されるようにする1つの方法は、作成したスクリプトを「QC Alarm Script」という名前のデータテーブルスクリプト、または列プロパティとして格納することです。
次の例では、テストで異常が検出されるたびに、メッセージがログに自動的に書き込まれます。
dt = Open( "$SAMPLE_DATA/Quality Control/Coating.jmp" );
obj = dt << Control Chart(
Sample Size( :サンプル ),
KSigma( 3 ),
Chart Col( :重量, XBar, R ),
Alarm Script(
Write(
"テストで異常 ",
qc_test,
" 列 ",
qc_col,
" サンプル ",
qc_sample
)
)
);
obj << Test 1( 1 );
Speak関数を使って、管理図のテスト結果を音声で通知させることもできます。以下に例を示します。
dt = Open( "$SAMPLE_DATA/Quality Control/Coating.jmp" );
dt << Control Chart(
Alarm Script(
Speak(
Match( QC_Test,
1, "1点がAゾーンを超えています",
QC_Test, 2,
"連続した9点がCゾーン以上にあります", QC_Test,
5,
"連続した3点のうち2点がAゾーン以上に
あります"
)
)
),
Sample Size( :サンプル ),
Ksigma( 3 ),
Chart Col( :重量, Xbar( Test 1( 1 ), Test 2( 1 ), Test 5( 1 ) ), R )
);
これらのスクリプトで、JSL警告コマンドのSpeak、Write、Mailを使用することができます。
「フェーズ(phase)」とは、データテーブル内の連続するオブザベーションをグループにまとめたものです。たとえば、新しい工程で生産を開始する前と後は異なるフェーズだと定義できます。指定したフェーズ変数の水準ごとに、シグマや限界値が新たに計算され、また、ゾーンやテストの結果が新たに計算されます。
「Diameter.jmp」の各フェーズに対し、限界値を設定する例を次に示します。
dt = Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
dt << Control Chart(
Phase( :フェーズ ),
Sample Size( :日付 ),
KSigma( 3 ),
Chart Col(
:直径,
XBar(
Phase Level(
"1",
Sigma( .29 ),
Avg( 4.3 ),
LCL( 3.99 ),
UCL( 4.72 )
),
Phase Level(
"2",
Sigma( .21 ),
Avg( 4.29 ),
LCL( 4 ),
UCL( 4.5 )
)
),
R( Phase Level( "1" ), Phase Level( "2" ) )
)
);