我在 JMP JSL 中相对较新。 一段时间以来,我一直在尝试使用 JSL 脚本将多个控制限包含到可变性图表和双变量图表中。 初步测试了几次,但仍然没有按预期进行。 运行附加的 JSL 脚本时没有显示图表。
而不是继续,想要接触乌鸦并依靠其他人的经验/专业知识来无缝设置它。 我附上了提到的脚本。
描述 | 文件 |
JMP JSL 脚本 | at=data table("X KPP Last 24 Hours_csv");
/// select data when :complevel_1 == "U1"
at<<SELECT where=""> 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
g1=Outline Box("U1",
bt<<VARIABILITY chart=""></VARIABILITY></SELECT> |
我想自动绘制变异性和二元图,包括其各自的控制限。
描述 | 例子 |
变异图预期 | 参考变异性图表.jrn |
二元图预期 | 参考 X. jrn 的二元 _Fit Y |
好心提醒。 渴望了解有关它的脚本答案和交互式解释。
感谢您花时间考虑此请求。
你好@丹尼尔1 ,
我只想通知您,只要我们在列属性(但不是控制限)中设置,JMP 变异性图表就会自动显示规格限。
我相信您正在尝试使用 LSL 和 USL 显示规格限制。
在您的脚本中,有一个小错字,如下图所示,在将 LCL 固定为 LSL 并将 UCL 固定为 USL 后,脚本运行良好。 您可以尝试使用附加的脚本重新运行它。

另外,我相信您正在尝试理解脚本的迭代部分。
colNames = bt << get column names( numeric, string );
For( i = 1, i <= N Rows( btl ), i++,
colNamesPosition = Loc( colNames, btl:Parameter[i] );
If( N Rows(colNamesPosition) > 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
我将尝试在下面的要点中解释这一点。
1.获取子集表中的所有列名(命名为U1)
2.根据spec limit表(名为btl)的总行数进行迭代
3. 返回spec limit表中每一列的矩阵(在JMP Help > Scripting Index下搜索'Loc')
4. 如果仍有剩余的列尚未循环,则根据 Spec Limit 表列(名为 btl)继续用 LSL 和/或 USL 替换列属性
我不是 JSL 专家,但我希望上述解释有所帮助!
你好@丹尼尔1
不幸的是,现在没有办法根据偏好将控制限制引入任何图表,因此无法自动将两组限制引入同一图表。
但是,请不要犹豫,将您的愿望放入 Intel-JMP 愿望清单中。
https://community.jmp.com/t5/Intel-Wish-List/idb-p/intel-ideas