Angefangen mit Daten in einer Tabelle und den Spezifikationsgrenzen in einer anderen war es bisher ein schwieriger Weg, eine groß angelegte Fähigkeitsanalyse zu starten. Während es in einigen Industriesegmenten vielleicht ein Durchlassrecht ist, ein JSL-Programm zu schreiben, das Spezifikationen aus einer Tabelle in die Spalteneigenschaften einer Daten enthaltenden Tabelle lädt, gibt es einige bessere Optionen. T Die Capability Analysis-Plattform in JMP 12 macht das Arbeiten mit Daten und einer separaten Spezifikationstabelle schnell und einfach. In diesem Artikel werde ich besprechen, wie Sie die JMP-Plattform nutzen können, um das Problem des Hinzufügens von Daten aus einer Spezifikationstabelle zu den Spalteneigenschaften einer Datentabelle herauszufinden. Das manuelle Durchlaufen des Prozesses erfordert nur wenige Klicks ( Beispiel für die Prozessfähigkeitsplattform ) Das Endziel besteht jedoch 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. Wie sich herausstellt, ist es mit einem recht kompakten Skript bemerkenswert einfach.
Das unten angefügte Skript wurde größtenteils mit einigen hilfreichen Tipps vom JMP-Entwickler Dr. Lancaster aus dem Skriptindex genommen.
Das Skript beginnt mit dem Abrufen der Spalten aus der Datentabelle, die fortlaufend numerisch sind.
Als nächstes wird ein leeres Argument erstellt. Die Variable "y" bezieht sich auf ein leeres Argument "process variables ()". Dieser Ausdruck wird dann mit den in "dty" enthaltenen Spaltennamen gefüllt.
Ausdrücke werden an mehreren Stellen verwendet, da sie erst ausgewertet werden, wenn auf die auf den Ausdruck verweisende Variable verwiesen wird.
Der nächste Ausdruck dient zum Generieren des Fähigkeitsberichts, und das jetzt ausgefüllte Argument der Prozessvariablen wird in obj eingefügt, wodurch die Funktion abgeschlossen wird. Wo werden "Prozessvariablen (Namen)" eingefügt? Es spielt keine Rolle, denn alles in "Process Capability ()" ist nur ein weiteres Argument.
In Process Capability () gibt es zwei wichtige Argumente, die Sie beachten sollten. Erstens ist "Spec Limits (Import ..."), die der Plattform mitteilt, welche Tabelle die Spezifikationsgrenzen enthält. Das zweite, "Spec Limits Dialog" ("no (überspringen ...") dieses Arguments bewirkt dasselbe Verhalten der Plattform wie das Überspringen von Spalten, die keine Spezifikationen enthalten, anstatt den Benutzer zur Eingabe aufzufordern. (oder "Nein, keine Aufforderung, überspringen Sie einfach die Spalten mit fehlenden Angaben.")
Die letzten Teile des Skripts enthalten eine Referenz auf den Bericht, um eine Datentabelle aus dem Gesamt-Sigma-Zusammenfassungsbericht zu erstellen und die Spezifikationen in einer neuen Datentabelle und den Spalteneigenschaften der ursprünglichen Datentabelle zu speichern.
Ich hoffe, Sie finden diese Erklärung hilfreich. 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.