大家好,
我正在檢查某些產品的幾個參數,例如長度和寬度。每個參數都是一列,其規格限製作為列屬性。每一行都是產品。如何自動建立一個名為「InSpec」的列,該列告訴我產品(行)是否符合指定規格限制的所有參數(列)的規格,而無需編寫 IF 語句作為「的公式」 InSpec」欄位。這是因為我有大量的規格參數需要檢查(保存在規格表中)。我已經使用 for 迴圈將規格限制指定為列屬性,因此我認為可能有一種方法可以一次檢查所有規格。
謝謝你!
JSL 可以做到這一點。這些帖子對您可以做什麼有一些想法
如何取得列中彩色儲存格的行號並在新建立的列中為其指派標籤(例如「1」)?和腳本編寫者俱樂部錄音:提示和技巧。而且還有其他方法。
這是我編寫的腳本,它循環遍歷所有列,如果該列有規格限制,它會建立一個新列,並將所有通過的行設為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 );
);
);
);