公開日: 11/25/2021

管理図

JSLを使用して、管理図を作成したり、テストをカスタマイズしたり、警告スクリプトを実行したりできます。

管理図ビルダーにおけるテストのカスタマイズ

Customize Testsオプションによって、テストをカスタマイズしたり、複数のテストを一度に選択または選択解除したりできます。このオプションでは、テスト名、n、ラベルを指定できます。このオプションは、計量値または計数値の管理図でのみ使用できます。

次の例は、「テスト 1」というテストをカスタマイズし、そのカスタマイズされた「テスト 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_phase(異常が発生したフェーズのラベル)

qc_firstRow(標本の第1行)

qc_lastRow(標本の最終行)

例1: ログへの書き込みを自動化する

警告が自動的に実行されるようにする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 );

例2: 管理図のテスト結果を音声で通知させる

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警告コマンドのSpeakWriteMailを使用することができます。

フェーズごとの管理限界の設定

「フェーズ(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" ) )
	)
);
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).