Salut tout le monde,
Je vérifie plusieurs paramètres pour certains produits, par exemple la longueur et la largeur. Chaque paramètre est une colonne avec des limites de spécification comme propriété de colonne. Chaque ligne est le produit. Comment puis-je créer automatiquement une colonne appelée "InSpec" qui m'indique si le produit (ligne) est dans ou hors spécification pour tous les paramètres (colonnes) avec des limites de spécification attribuées SANS avoir à écrire une instruction IF comme formule pour la colonne "InSpec". C'est parce que j'ai des tonnes de paramètres de spécification à vérifier (enregistrés dans une table de spécifications). J'ai déjà utilisé une boucle for pour attribuer les limites de spécification en tant que propriétés de colonne, j'ai donc pensé qu'il pourrait y avoir un moyen de vérifier toutes les spécifications en une seule fois.
Merci!
JSL peut le faire. Ces articles contiennent quelques idées sur ce que vous pourriez faire
Comment obtenir le numéro de ligne des cellules colorées dans une colonne et lui attribuer une balise (par exemple « 1 ») dans une colonne nouvellement créée ? et Enregistrements du Scripters Club : trucs et astuces . Et il existe également d'autres méthodes.
Sous la ligne :
Veuillez voter ici :folded_hands: est dans les spécifications (valeur) .
Voici un script que j'ai écrit qui parcourt toutes les colonnes et si la colonne a des limites de spécification, il crée une nouvelle colonne et définit toutes les lignes passantes sur 1 et toutes les colonnes défaillantes sur 0. Il colore également les cellules des valeurs non passantes en rouge.

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 );
);
);
);