列グループ内の複数の変動チャートに基準線を追加する列のプロパティに仕様制限が保存された列が多数あります。列グループ内の複数の変動グラフに参照線を追加しようとしています。私の問題は、ループして変動グラフの 400 個以上のインスタンスを作成し、手動で追加しない限り、これらの行を追加できないように見えることです。これにより、大量のメモリが使用され、JMP がクラッシュしない場合でも速度が低下します。追加したい最初の参照行の後に、次のコードを続けることができます。ここで、インデックス i は、ループしている列グループ内の特定の列を指します。
report(gb)[axis box( 1 )] << Add Ref Line(
{Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ) ) - 5
)
), Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ) ) - 5
)
)},
"Solid",
"Light Green",
"",
1,
0.25
);
以下は、仕様ごとに変動チャートの新しいインスタンスを作成しないように、このコードを実装する方法です。以下のコードにカスタム参照線を追加する方法がわかりません。基本的に、最初に各仕様の LSL と USL の間を薄緑色で強調表示する基準線範囲を追加したいと考えています。
open("$SAMPLE_DATA/Semiconductor Capability.jmp");
DT = Current Data Table();
DT << Manage Limits(
Process Variables(
DT << Get Column Group ("Processes")
),
<< Show Limits All,
<< Save to Column Properties,
close window
);
SpecVarCharts = Variability Chart( Y( Column Group( "Processes" ) ), X( :Wafer, :Site ),Connect Cell Means( 1 ), Std Dev Chart(0));
ご協力をいただければ幸いです。
ウィンドウズRe: 列グループ内の複数の変動チャートに基準線を追加する変動チャートのアウトライン ボックスへの参照を取得し、参照線を設定しながらそれらをループします。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); // column properties are already set
varchart = dt << Variability Chart(
Y(Column Group("Processes")),
X(:Wafer, :Site),
Connect Cell Means(1),
Std Dev Chart(0),
invisible
);
obs = varchart << XPath("//OutlineBox[contains(text(), 'Variability Chart for')]");
For Each({ob}, obs,
colname = Substitute(ob << get title, "Variability Chart for ", "");
specs = Column(dt, colname) << Get Property("Spec Limits");
low = specs["LSL"] - 5;
high = specs["USL"] + 5;
ob[AxisBox(1)] << Add Ref Line(low, "Solid", "Light Green", "", 1, 0.25);
ob[AxisBox(1)] << Add Ref Line(high, "Solid", "Light Green", "", 1, 0.25);
);
varchart << Show Window(1);