大家好,
我正在检查某些产品的几个参数,例如长度和宽度。每个参数都是一列,规格限制作为列属性。每行都是产品。如何自动创建一个名为“InSpec”的列,告诉我产品(行)是否符合或不符合所有指定规格限制的参数(列)的规格,而无需为“InSpec”列编写 IF 语句作为公式。这是因为我有大量的规格参数需要检查(保存在规格表中)。我已经使用 for 循环将规格限制指定为列属性,所以我想可能有一种方法可以一次检查所有规格。
谢谢你!
JSL 可以做到这一点。这些帖子提供了一些关于你可以做什么的想法
如何获取列中彩色单元格的行数并在新创建的列中为其分配标签(例如“1”)?和Scripters Club Recordings:提示和技巧。还有其他方法。
下划线部分:
请在此处投票:folded_hands:符合规格(价值) 。
这是我编写的一个脚本,它循环遍历所有列,如果该列有规格限制,它会创建一个新列并将所有通过的行设置为 1,将所有失败的列设置为 0。它还将未通过值的单元格颜色为红色。

Names Default To Here( 1 );
dt =
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNames = dt << get column names( string, numeric );
For Each( {col}, colNames,
specs = {};
specs = Try( Column( dt, col ) << get property( "spec limits" ), {} );
If( specs != Empty(),
dt << New Column( Column( dt, col ) << get name || " in Spec?", set each value( 1 ) );
lsl = specs["LSL"];
usl = specs["USL"];
inSpec = dt << get rows where( !(As Column( dt, col ) >= lsl & As Column( dt, col ) <= usl ));
If( Length( inSpec ) > 0,
Column( Column( dt, col ) << get name || " in Spec?" )[inSpec] = 0;
Column( col ) << color cells( "Red", inSpec );
);
);
);