變異性圖表上的不同規格限制你好,
我正在透過 OVL_UDL 和 PARAMETER_NAME 以及四個 X 變數建立單獨的變異性圖表。我透過帶有 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;

自動化和腳本編寫大規模客製化回复:可變性圖表上的不同規格限制謝謝。 不知何故,當它遍歷 OVL_UDL 時,它只在最後一張圖上保持正確的限制。 我在想我是否可以編寫腳本將表拆分為多個表(一個用於 eqach OVL_UDL)並在每個表中運行腳本。 我如何編寫一個腳本來一次打開一個文件,運行繪圖腳本,打開下一個文件並再次運行相同的腳本。
回复:可變性圖表上的不同規格限制循環應該工作得很好,但您必須為每個圖表使用正確的限制和組大小。 下面是一個快速而骯髒的例子(我肯定會清理這段代碼很多,但它應該作為某種起點)。
查看更多...
(變異性圖表也可以通過使用 By 選項創建,但它需要一種有點不同的循環,因為您很可能會循環變異性圖表而不是參數)。
回复:可變性圖表上的不同規格限制非常感謝。 除了一件事,我認為它完美無缺。 我看到您只保留了一個 OVL_UDL 值並且只創建了一個可變性圖表。 我想為每個 OVL_UDL 變量創建一個單獨的圖表。 在數據中,應該有 BC1_BM3(你有)但還有一張 BC2_BM3 圖表。 我嘗試放置一個 for 循環來為每個 OVL_UDL 迭代您的腳本,但無法顯示限制。 知道我們如何實現這一目標嗎?
謝謝
回复:可變性圖表上的不同規格限制使用圖形生成器比使用可變性圖表更容易完成此操作,但如果您想使用可變性圖表,下面是使用圖形腳本的過於簡單的示例
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));
