Mit Daten in einer Tabelle und Spezifikationsgrenzen in einer anderen zu beginnen, war früher eine schwierige Möglichkeit, eine groß angelegte Fähigkeitsanalyse zu starten. Während es in manchen Industriesegmenten möglicherweise ein Übergangsrecht ist, ein JSL-Programm zu schreiben, das Spezifikationen aus einer Tabelle in die Spalteneigenschaften einer datenhaltigen Tabelle lädt, gibt es einige bessere Optionen. T Die Fähigkeitsanalyseplattform in JMP 12 macht die Arbeit mit Daten und einer separaten Spezifikationstabelle zu einer schnellen und einfachen Aufgabe. In diesem Artikel werde ich besprechen, wie Sie die Vorteile der JMP-Funktionsplattform nutzen können, um das Problem des Hinzufügens von Daten aus einer Spezifikationstabelle zu den Spalteneigenschaften einer Datentabelle zu lösen. Das manuelle Durchlaufen des Prozesses erfordert nur wenige Klicks ( Beispiel der Process Capability Platform ), aber das Endziel besteht darin, ein Skript für die Plattform zu erstellen, um sowohl die Analyse zu automatisieren als auch die Spalteneigenschaften einer Datentabelle mit Spezifikationsgrenzen zu aktualisieren. Es stellt sich heraus, dass es mit einem recht kompakten Skript bemerkenswert einfach ist.
Das unten angehängte Skript stammt größtenteils aus dem Skriptindex und enthält einige sehr hilfreiche Tipps des JMP-Entwicklers Dr. Lancaster.
Das Skript beginnt damit, die Spalten aus der Datentabelle abzurufen, die fortlaufend numerisch sind.
Als nächstes wird ein leeres Argument erstellt. Die Variable „y“ bezieht sich auf ein leeres „Prozessvariablen()“-Argument. Dann wird dieser Ausdruck mit den in „dty“ enthaltenen Spaltennamen gefüllt.
Ausdrücke werden an mehreren Stellen verwendet, da sie erst ausgewertet werden, wenn auf die Variable verwiesen wird, die auf den Ausdruck verweist.
Der nächste Ausdruck dient der Generierung des Fähigkeitsberichts und das nun ausgefüllte Prozessvariablenargument wird in obj eingefügt, wodurch die Funktion abgeschlossen wird. Wo wird „Prozessvariablen (Namen)“ eingefügt? Das spielt keine Rolle, denn alles innerhalb von „Process Capability()“ ist nur ein weiteres Argument.
Es sind zwei wichtige Argumente in Process Capability() zu beachten. Das erste ist „Spec Limits(Import...“), das der Plattform mitteilt, welche Tabelle die Spezifikationsgrenzen enthält.Das zweite „Spec Limits Dialog( „no(skip…“)Dieses Argument führt zu demselben Plattformverhalten, als würde die Plattform Spalten überspringen, die keine Spezifikationen haben, anstatt den Benutzer aufzufordern, diese anzugeben. (oder: „Nein, keine Eingabeaufforderung, überspringen Sie einfach die Spalten mit fehlenden Spezifikationen.“)
Die letzten Teile des Skripts stellen einen Verweis auf den Bericht bereit, um aus dem Gesamt-Sigma-Zusammenfassungsbericht eine Datentabelle zu erstellen und die Spezifikationen in einer neuen Datentabelle und den Spalteneigenschaften der ursprünglichen Datentabelle zu speichern.
Ich hoffe, dass Sie diese Erklärung nützlich finden. Ich habe auch die Folien angehängt, die ich kürzlich an einem JMP-Tag verwendet habe.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dty = dt << GetColumnNames( numeric, continuous );
y = Expr( process variables() ); //this constructs the "process variables" argument that is inside the process capability function.
n = N Items( dty );
For( i = 1, i <= n, i++,
Insert Into( y, dty[i] ) // the column names, not name strings, are inserted and comma delimited
);
obj = Expr( // this is an expression so that it won't be evaluated and we can do things to it later
Process Capability(
Spec Limits( Import Spec Limits( "$SAMPLE_DATA/CitySpecLimits.jmp" ) ),// file path and file name of the specs table
Spec Limits Dialog( "No (skip columns with no spec limits)" ),// Handy thing to know, Thank you Dr. Lancaster!!
Overall Sigma Summary Report( 1 )
)
);
Insert Into( obj, Name Expr( y ) ); // this is later and we insert "y" which is "process variables( column names )" show( name expr(y)) to see it
pr = obj << report; // pr becomes a handle for the report, and obj gets evaluated
dt2 = pr[Table Box( 2 )]<< Make Into Data Table;// this is where the the summary report is in the capability report
dt3=obj<<SAVE spec="" limits="" to="" new="" table=""></SAVE>
* Die im Bericht verwendeten Spezifikationen sind auch im zusammenfassenden Bericht enthalten.