変動チャート上の異なる仕様限界こんにちは、
私は、4 つの X 変数を持つ OVL_UDL と PARAMETER_NAME によって個別の変動チャートを作成しています。これは、for ループを使用したスクリプトで行います。同じデータ テーブルに含まれる値のチャートにスペック値を表示できるようにしたいと考えています。ただし、各グラフ内 (変数ループによる) とチャート間 (OVL_UDL と PARAMETER_NAME による) で制限が異なります。フォーラムを調べましたが、JSL を使用してこれを行う方法を実際に思いつくことができませんでした。
overunder = Associative Array( dt:OVL_UDL << Get Values ) << Get Keys;
For( i = 1, i <= N Items( overunder ), i++,
win = New Window( "window",
var = dt2 << Variability Chart(
Y( :VALUE ),
X( :ROUTE, :OPERATION, :PRODUCT, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
AIAG Labels( 0 ),
Where( :OVL_UDL == overunder[i] ),
By( :PARAMETER, :OVL_UDL ),
SendToReport(
Dispatch(
{"Variability Chart for VALUE"},
"Variability Chart",
FrameBox,
{Row Legend(
:Current Layer Scanner,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
), Row Legend(
ALT,
Color( 0 ),
Color Theme( "" ),
Marker( 1 ),
Marker Theme( "Solid" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
)
);
win << save picture;

自動化とスクリプト大量カスタマイズRe: 変動性チャートの異なる仕様制限これは、変動チャートよりもグラフ ビルダーを使用した方がはるかに簡単に実行できますが、変動チャートを使用する場合は、以下のグラフィック スクリプトを使用した単純化された例を使用してください。
Names Default To Here(1);
dt = Open("$DOWNLOADS/test.jmp");
dt << Delete Rows(Loc(dt[0, "OVL_UDL"], "BC1_BM3"));
var = Variability Chart(
Y(:VALUE),
X(:Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME)
);
spec_table = dt << Summary(
Group(:Loop),
// N Categories(:UP_CONTROL_LMT), // could be used for sanity check
Min(:UP_CONTROL_LMT),
Freq("None"),
Weight("None"),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("spectable")
);
specs = Associative Array(Column(spec_table, "Loop"), Column(spec_table, "UP_CONTROL_LMT"));
groups = dt << Summary(
Group(Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("groups")
);
fl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
sl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
framebox = Report(var)[frame box(1)];
framebox << Add Graphics Script(
Pen Color("Blue");
Pen Size(1);
H Line(0, fl_groups, specs["FL"]);
H Line(fl_groups, fl_groups + sl_groups, specs["SL"]);
);
framebox << Y Axis(Max(15));

Re: 変動性チャートの異なる仕様制限本当にありがとう。 1つのことを除いて、それは完全に機能すると思います。 OVL_UDL 値を 1 つだけ保持し、変動性グラフを 1 つだけ作成したようです。 OVL_UDL 変数ごとに個別のグラフを作成したいと考えています。 データでは、BC1_BM3 (あなたが持っています) にはオンになっているはずですが、BC2_BM3 にはもう 1 つのグラフがあります。 OVL_UDL ごとにスクリプトを反復するために for ループを配置しようとしましたが、表示する制限を取得できませんでした。 どうすればそれを達成できるか考えていますか?
ありがとう
Re: 変動性チャートの異なる仕様制限ループは正常に機能するはずですが、各チャートに対して正しい制限とグループ サイズを使用する必要があります。 以下は簡単で汚い例です (私は間違いなくこのコードを大幅にクリーンアップしますが、何らかの出発点として機能するはずです)。
もっと見る...
(変動チャートは By オプションを使用して作成することもできますが、パラメーターではなく変動チャートをループする可能性が高いため、少し異なる種類のループが必要になります)。
Re: 変動性チャートの異なる仕様制限ありがとう。 どういうわけか、OVL_UDL を反復処理すると、最後のグラフの正しい制限のみが保持されます。 テーブルを複数のテーブル (eqach OVL_UDL 用に 1 つ) に分割するスクリプトを作成し、各テーブルでスクリプトを実行できるかどうかを考えています。 一度に 1 つのファイルを開き、プロット スクリプトを実行し、次のファイルを開いて同じスクリプトを再度実行するスクリプトを作成するにはどうすればよいですか。