变异性图表上的不同规格限值你好,
我正在通过 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));
