你好
我是JSL的新手,需要帮助。我想获取一个用于变异图的脚本,但我想传递一个值来控制是否需要变异性摘要报告。我尝试了如下所示的操作,但似乎一直都在打印差异摘要报告。
在下面的代码中,如果将控件设置为1,则我希望提供可变性摘要报告。如果设置为0,我想禁用可变性摘要报告...
如果我将其硬编码为可变性摘要报告( 1个 )或可变性摘要报告( 0 ) 有用
control = 0;
New Window( "Variability Chart of RRAW_BER",
V List Box(
Variability Chart(
Y( :RRAW_BER ),
X( :SERIAL_NUM, :HD_PHYS_PSN, :DATA_ZONE ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Variability Summary Report( control ),
SendToReport(
Dispatch(
{"Variability Chart for RRAW_BER"},
"Variability Chart",
FrameBox,
{Row Legend(
:SPC_ID_x,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
)
);
这有点令人惊讶,但是这很容易解决。 只需在此行交换:
parse(eval insert("Variability Summary Report( ^control^ )"))
有点hack,但这应该对您有用。 它评估字符串中“ control”的值,然后将字符串解析为表达式以进行评估。
较干净的解决方案是命名可变性图表对象,然后在可变性报告已存在之后发送消息以添加可变性图表,也可以不发送此消息。 这是一个具有2个因子交叉样本数据的示例:
dt = Current Data Table();
control = 1;
varchart = dt << Variability Chart(
Y( :Measurement ),
X( :Operator, :part# ),
Standard( :Standard )
);
if(control, varchart << Variability Summary Report( 1 ))
非常感谢 @cwillden 欣赏它.. 我喜欢这种简单的变通办法,因为它很适合我的脚本,但似乎不起作用(我根本无法获得可变性摘要)。但是,您提供的更清洁的解决方案有效。