変動プロットに参照線を追加するテーブルが2つあります
Table1はdt=Data Table("Data");で、WAFER、STRUCTURE、PARAMETER、Valueの列があります。
Table2はdtr=データテーブル("Targets")であり、PARAMETER、USL、LSL、Targetの列があります。
1つのウィンドウ(アクティブで、ポイントの選択や凡例の変更に使用できます)に、各パラメータの参照線(ターゲット、USL、LSL)とともに、すべてのパラメータの変動チャートを表示したいと考えています。
パラメータがTargetsファイル(dtr)にはターゲットがなく、DATAファイル(dt)にはデータがある場合、変動プロットは参照線なしで作成されます。そうでない場合は、参照線が追加されます。
nw << Append(
vc = dt << Variability Chart(
Y(:Normalize Value),
X(:STRUCTURE, :WAFER),
Variability Analysis(
:Value,
Connect Cell Means(1),
Std Dev Chart(0),
Points Jittered(1),
AIAG Labels(0),
Show Box Plots(1)
),
Where(:Parameter == currentParam),
SendToReport(
Dispatch({"Variability Chart for Normalize Value"}, "2", ScaleBox,
{Add Ref Line(lsl, "Dotted", "Red", "LSL", 2),
Add Ref Line(target, "Solid", "Black", "Target", 2),
Add Ref Line(usl, "Dotted", "Red", "USL", 2)}
)
)
)
);
編集 (jthi): jsl フォーマットを追加しました
高度な統計モデリング自動化とスクリプト基本的なデータ分析とモデリングRe: 変動プロットに参照線を追加するFor Each Row 関数を使用して、ターゲットテーブル(すべてのパラメータが揃っていることを前提)をループ処理し、ループ内でプロットを作成します。異なるケース(制限あり/制限なし)ごとに、個別の変動チャートメッセージを作成できます。制限ありの場合は、式の評価を使用して制限を追加します。
Re: 変動プロットに参照線を追加する例
Names Default To Here(1);
dt_limits = New Table("Cities Limits",
Add Rows(4),
New Column("Process",
Character,
Set Values({"OZONE", "CO", "SO2", "NO"})
),
New Column("LSL", Numeric, Set Values([-20, -30, -25, -10])),
New Column("Target", Numeric, Set Values([5, ., 1, 5])),
New Column("USL", Numeric, Set Values([20, 30, 10, 25])),
Set Label Columns(:Process)
);
dt = Open("$SAMPLE_DATA/Cities.jmp");
dt_stack = dt << Stack(
columns(:OZONE, :CO, :SO2, :NO, :PM10, :Lead),
Output Table("Stack of Cities (OZONE, CO, SO2, NO, PM10, Lead)")
);
Close(dt, no save);
nw = New Window("",
vlb = V List Box()
);
For Each Row(dt_limits,
lowlimit = :LSL;
highlimit = :USL;
targetlimit = :Target;
If(Is Missing(targetlimit),
vlb << Append(dt_stack << Variability Chart(Y(:Data), Model("Main Effect"), X(:city)))
,
vlb << Append(Eval(EvalExpr(
dt_stack << Variability Chart(
Y(:Data),
Model("Main Effect"),
X(:city),
SendToReport(
Dispatch(
{"Variability Gauge Analysis for Data", "Variability Chart for Data"},
"2", ScaleBox,
{Add Ref Line(Expr(lowlimit), "Dotted", "Red", "LSL", 2),
Add Ref Line(Expr(targetlimit), "Solid", "Black", "Target", 2),
Add Ref Line(Expr(highlimit), "Dotted", "Red", "USL", 2)}
)
)
);
)));
);
);
Write();

Re: 変動プロットに参照線を追加するこんにちは、Jarmoさん。
1. 私の場合、 dt 内のパラメータをループ処理したいのですが、このパラメータは dtr には存在しない可能性があります。また、同じパラメータを持つ行が複数存在する可能性があります(複数の測定値を画像に記録する場合)。
2. スクリプトでは、どのプロットがどのゾーンに対応しているのか分かりません。変動プロットの名前をパラメータ名と同じにする必要があります。
Re: 変動プロットに参照線を追加する私は以下のロジックを使用しましたが、制限を追加するのが困難でした
paramList = Associative Array(:Parameter << Get Values) << Get Keys;
For(i = 1, i <= N Items(paramList), i++,
currentParam = paramList[i]
);
編集 (jthi): jsl フォーマットを追加しました
Re: 変動プロットに参照線を追加するどの部分に問題があるのでしょうか?連想配列に制限を追加しているのでしょうか?