管理図の限界を実際の平均値のパーセントで表す親愛なるコミュニティの皆様、
私は製薬業界で働いており、薬局方ガイドライン EP 2.9.5 に従って管理図を作成したいと考えています。
テストは次のとおりです。
- 重量20錠
- 2を超える場合は、観測平均値から7.5%以上逸脱するべきではない
- 観測平均値から15%以上逸脱してはならない
管理図の制限を、シグマに基づいて平均の 7.5% と平均の 15% に設定する方法はありますか?
代理としてデータを 100% に正規化し、グラフ ビルダーで固定参照線を追加できることはわかっていますが、元のデータは正規化せずに、100% (ターゲット) からの偏差も視覚化できるようにしておきたいと思います。

ご支援ありがとうございます。
クレメント
データの探索と可視化品質およびプロセスエンジニアリングRe: 管理図の限界を実際の平均値のパーセントとして表すまた、グラフビルダーで、例えばCol MeanとCol Std Devを使用して、グループ全体の統計を計算することで、このタイプの「グループ化された」線を作成することもできます。
Re: 管理図の限界を実際の平均値のパーセントとして表す平均値から±15%の規格限界を設定するには、以下のスクリプトを例として使用します。これにより、15%を超える点を簡単にチェックし、レポートすることができます。
// Based on txnelson's post from Nov 9, 2023.
// The usual frontmatter:
Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
Names Default To Here( 1 );
dt = Current Data Table();
// Change column property: DIAMETER
theMean = Col Mean(:DIAMETER);
Eval(
Substitute(
Expr(
dt:DIAMETER << set property(
"Spec Limits",
{LSL( _LSL_ ),
//Target( _Target_ ),
USL( _USL_ ),
Show Limits( 1 )}
)
),
Expr( _LSL_ ), 0.85*theMean,
//Expr( _Target_ ), theMean,
Expr( _USL_ ), 1.15*theMean
)
);
7.5%を超える点と15%を超える点の両方を同時にチェックするのは、少し複雑です。一つの方法は、工程の既知の「ヒストリカルシグマ」として7.5%を設定することです。その後、管理図ビルダーに組み込まれている警告機能を使用して、それぞれ1シグマと2シグマを超える点をチェックします。
赤い三角ボタン→「シグマの設定」オプションを使って、平均値の7.5%を「過去の」シグマとして設定します。その後、グラフを右クリックし、「警告」→「テストのカスタマイズ」を選択し、テスト1で1シグマを超える点をチェックするように変更します(または、以下の手順をスクリプト化します)。
次に、KSigma を 2 に設定すると、Test Beyond Limits で 15% を超えるポイントもチェックされるようになります。
これは通常、管理図が使用される方法ではありませんが、目的を達成できます。
これを行うには、上記のスクリプトに以下を追加します。
// Control chart builder with manually set historical sigma
Eval(
Substitute(
Expr(
Control Chart Builder(
Variables( Y( :DIAMETER ) ),
Set Sigma( _sigma_ ),
K Sigma( 2 ),
Customize Tests( Test 1( 1, "1" ) ),
Chart( Position( 1 ), Limits( Spec Limits( 1 ) ) )
);
),
Expr( _sigma_ ), 0.075*theMean,
)
);
Re: 管理図の限界を実際の平均値のパーセントとして表す念のため確認しますが、あなたがしようとしているのは管理図ではありません。管理図の限界値は、実際のプロセス変動とは独立して導出される仕様とは全く関係がありません。仕様をあたかも特定の原因によるものであるかのように扱うと、長期的には変動が増大する可能性があります(デミングとシューハートを参照)。
これは、仕様に対してデータをプロットできないという意味ではありませんが、これは管理図ではないため、これらの制限に対する反応には注意が必要です。
Re: 管理図の限界を実際の平均値のパーセントとして表す私はグラフ ビルダーでそれを実行しようとしましたが、そこまでは進みました (管理図プラットフォームでは成功しませんでした)。
5 つの新しい列を作成しました:
- カテゴリ別の平均
- T2陰性 = :カテゴリー別の平均*0.85
- T2陽性 = :カテゴリー別平均*1.15
- T1陰性 = :カテゴリー別平均*0.925
- T1 pos = :カテゴリ別の平均*1.075
次に、次のスクリプトを使用しました
Graph Builder(
Spacing Borders( 1 ),
Variables(
Y( :Weight in % of target ),
Y( :T2 neg, Position( 1 ) ),
Y( :T2 pos, Position( 1 ) ),
//Y( :T1 neg, Position( 1 ) ),
//Y( :T1 pos, Position( 1 ) ),
Group X( :"Concatenate[Batch,Tray]"n )
),
Elements(
Points( Y( 1 ) ),
Line( Y( 2 ) ),
Line( Y( 3 ) ),
//Line(Y( 4 )),
//Line(Y( 5 ))
)
);
*注: JSL は txnelson によって JSL Box に移動されました
2 行だけをアクティブにすると、正常に動作します。

しかし、4 行をアクティブ化すると (スクリプト内の // を削除)、奇妙なグラフが表示されました。

何かアイデアはありますか?
Re: 管理図の限界を実際の平均値のパーセントとして表すおそらく、Y軸に複数の列がある場合、JMPはY軸をグループ化する可能性があるためです。

Graph Builder(
Size(788, 927),
Variables(
Y(:NPN1, Combine("Merged")),
Y(:neg1, Position(1), Combine("Merged")),
Y(:pos1, Position(1), Combine("Merged")),
Y(:neg2, Position(1), Combine("Merged")),
Y(:pos2, Position(1), Combine("Merged")),
Group X(:wafer)
),
Elements(Points(Y(1), Legend(40)), Line(Y(2), Y(3), Y(4), Y(5), Legend(41))),
SendToReport(
Dispatch({"Points"}, "", OutlineBox, {Close(0)}),
Dispatch({"Line"}, "", OutlineBox, {Close(0)})
)
);Re: 管理図の限界を実際の平均値のパーセントとして表す完璧です。皆様回答ありがとうございました。
とてもうまく機能します。
良い1日を。
クレメント