设置从特定单元格到列属性的限制大家好
我在获取下面的代码以设置列属性中的限制时遇到了一些问题
它设置了规格限制,但设置为 0.0 而不是列的第 4 行和第 5 行中的值
有没有人可以帮忙
for(c=2, c<=NCol(dt), c++, Column(dt, c) << Set Property("Spec Limits", Spec Limits(Show Limits(1))));
for(c=2, c<=NCol(dt), c++, Column(dt, c) << Set Property("Spec Limits", Spec Limits(LSL(Column(dt, c)[4]))));
for(c=2, c<=NCol(dt), c++, Column(dt, c) << Set Property("Spec Limits", Spec Limits(USL(Column(dt, c)[5]))));分析脚本编写回复:设置从特定单元格到列属性的限制你好@Claus_Jensen ,
很多时候,当您设置属性 Spec Limits 时,您需要以一种特殊的方式进行设置。 你可能会考虑阅读这篇文章这里, 或者这里,其中最初的第一个链接是关于其他内容的,但他们也想为列分配规格限制。
通常,您必须按照以下方式进行操作:
//define your spec limits
_LSL_ = 0;
_USL_ = 100;
_Target_ = 20;
//assign the spec limits to the column of interest
Eval( Eval Expr( Column( dt, C ) << Set Property( "Spec Limits", {LSL( Expr( _LSL_ ) ), USL( Expr( _USL_ ) ), Target( Expr( _Target_ ) )} ) ) );
在上面的示例中,规格限制的变量是 _LSL_ 等,并且必须在 <
如果您不想在 JSL 代码中定义规范限制,而是将它们作为一列,请说 :"LSL"n,其中第一个元素是值,然后 :"LSL"n[1]=0 (管他呢)。 您还可以使用 JMP 研究“管理规格限制”这里. 我经常使用这个过程,你可以把它全部编写好。 它可以更轻松地构建数据表,其中每一行都是您的项目/产品的属性,这是“第 1 列”,然后您有列 _LSL、_Target 和 _USL,并且只要第 1 列中的行匹配使用产品表的列名称,然后您可以通过编写脚本轻松地为所有列分配规格限制。 例如,您的规格表可能如下所示:
| 第 1 栏 | _LSL | _目标 | _USL |
| 重量 | 10 | 30 | 60 |
| 高度 | 30 | 45 | 60 |
| 硬度 | 0 | 5 | 10 |
然后,您测量的每个产品/项目的表格可能如下所示:
| 批号 | 重量 | 高度 | 硬度 |
| 010 | 20 | 37 | 7 |
| 020 | 40 | 22 | 9 |
| 030 | 50 | 50 | 3 |
然后,通过使用管理规格限制,您可以轻松地将规格数据表中的规格分配到产品/项目数据表。 对我而言,当我为我们的产品生成大型数据表并希望在读取数据文件后自动执行此过程时,这会有所帮助。
无论如何,通过使用顶部的示例,您定义规格限制并使用 Eval(Eval Expr(Expr())) 肯定会得到您需要的东西。
希望这可以帮助!,
DS