こんにちは、
最初のパラメーター/チャートに位相制御限界を適用せず、残りのパラメーター/チャートに同じスクリプトで定義された固定制御限界がある場合のスクリプト作成について支援が必要です。
現在、次の構造を使用しています。
<SPAN>管理限界を設定する({{LCL(.), Avg(.), UCL(.)}, {LCL(1060.2), Avg(1405.3), UCL(1745.1)}, {LCL(12.3), Avg(14.1), UCL(15.8)}, {LCL(16), Avg(22), UCL(28)} }),</SPAN>
問題は、JMPが常に最初の管理図の限界値を求めるダイアログを表示することです。スクリプトを続行するには、 「OK」または「キャンセル」をクリックする必要があります。ダイアログを閉じると、最初の管理図には固定管理限界が正しく表示されず、他の3つの管理図では指定された限界値が使用されます。しかし、このダイアログを一切表示しないようにしたいのです。
最初のチャート(または列)にも列プロパティで固定の制限が設定されていますが、それを削除したいだけでしょうか? あるいは、スクリプトで固定の制限が設定されているものの、1つのチャートだけを制限なしで残したいだけでしょうか?
スクリプト内で固定制限が設定されていることを前提としたスクリプトオプション
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
// let JMP set them initially, using hidden not avoid display limit changes
ccb = dt << Control Chart Builder(
Variables(Subgroup(:Sample), Y(:Weight)),
Chart(Position(1), Points(Statistic("Average")), Limits(Sigma("Moving Range"))),
Chart(Position(2), Points(Statistic("Moving Range on Means")), Limits(Sigma("Moving Range"))),
Chart(Position(3), Points(Statistic("Range")), Limits(Sigma("Range"))),
Chart(Position(4), Points(Statistic("Range")), Limits(Sigma("Range"))),
Show Control Panel(0),
Invisible
);
// don't set them to first chart at all and let JMP do it
// I would use a list of limits and for-loop to set rest of the limits, but you could just copy paste this multiple times
ccb << Chart(Position(2), Set Control Limits({LCL(1), Avg(3), UCL(6)}));
ccb << Chart(Position(3), Set Control Limits({LCL(2), Avg(4), UCL(7)}));
ccb << Chart(Position(4), Set Control Limits({LCL(3), Avg(5), UCL(8)}));
// Show the report again
wait(0);
ccb << show window(1);
制限管理を容易にするオプションはたくさんありますが、ここではリストのリストを使用するオプションを紹介します (データ テーブル、連想配列なども使用できます)。
Names Default To Here(1);
CC_LIMITS = {
{LCL(1), Avg(3), UCL(6)},
{LCL(2), Avg(4), UCL(7)},
{LCL(3), Avg(5), UCL(8)}
};
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
ccb = dt << Control Chart Builder(
Variables(Subgroup(:Sample), Y(:Weight)),
Chart(Position(1), Points(Statistic("Average")), Limits(Sigma("Moving Range"))),
Chart(Position(2), Points(Statistic("Moving Range on Means")), Limits(Sigma("Moving Range"))),
Chart(Position(3), Points(Statistic("Range")), Limits(Sigma("Range"))),
Chart(Position(4), Points(Statistic("Range")), Limits(Sigma("Range"))),
Show Control Panel(0),
Invisible
);
For(i = 2, i <= N Items(CC_LIMITS) + 1, i++,
Eval(EvalExpr(
ccb << Chart(Position(i), Set Control Limits(Expr(CC_LIMITS[i-1])));
));
);
wait(0);
ccb << show window(1);