Hallo zusammen,
Ich überprüfe mehrere Parameter für einige Produkte, z. B. Länge und Breite. Jeder Parameter ist eine Spalte mit Spezifikationsgrenzen als Spalteneigenschaft. Jede Zeile ist das Produkt. Wie erstelle ich automatisch eine Spalte namens „InSpec“, die mir sagt, ob das Produkt (die Zeile) für alle Parameter (Spalten) mit zugewiesenen Spezifikationsgrenzen innerhalb oder außerhalb der Spezifikation liegt, OHNE eine IF-Anweisung als Formel für die Spalte „InSpec“ schreiben zu müssen? Das liegt daran, dass ich Unmengen von Spezifikationsparametern zu überprüfen habe (gespeichert in einer Spezifikationstabelle). Ich habe bereits eine For-Schleife verwendet, um die Spezifikationsgrenzen als Spalteneigenschaften zuzuweisen, also dachte ich, es könnte eine Möglichkeit geben, alle Spezifikationen auf einmal zu überprüfen.
Danke schön!
JSL kann das. Diese Beiträge enthalten einige Ideen, was Sie tun könnten
Wie erhalte ich die Zeilennummer farbiger Zellen in einer Spalte und weise ihr in einer neu erstellten Spalte ein Tag (z. B. „1“) zu? und Scripters Club Recordings: Tipps und Tricks . Und es gibt auch andere Methoden.
Unter der Zeile:
Bitte hier abstimmen :folded_hands: liegt im Sollwert .
Hier ist ein Skript, das ich geschrieben habe und das alle Spalten durchgeht. Wenn die Spalte Spezifikationsgrenzen hat, erstellt es eine neue Spalte und setzt alle Zeilen, die den Test bestehen, auf 1 und alle Spalten, die den Test nicht bestehen, auf 0. Außerdem färbt es die Zellen für die Werte, die den Test nicht bestehen, rot.

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