Commencer avec les données d'une table et les limites de spécification d'une autre était un moyen difficile de lancer une analyse de capacité à grande échelle. Bien que le fait de programmer un programme JSL qui charge les spécifications d'une table dans les propriétés de colonne d'une table contenant des données constitue un droit de passage dans certains segments de l'industrie, il existe de meilleures options. T e plate-forme d’analyse des capacités de JMP 12 permet de travailler rapidement et facilement avec des données et un tableau de spécifications séparé. Dans cet article, je vais expliquer comment tirer parti de la plate-forme de fonctionnalité JMP pour résoudre le problème de l'ajout de données d'une table de spécifications aux propriétés de colonne d'une table de données. La procédure manuelle ne nécessite que quelques clics ( Exemple de plate-forme de capabilité de processus ) mais l’objectif final est de créer un script pour que la plate-forme automatise l’analyse et mette à jour les propriétés de colonne d’une table de données avec des limites de spécification. En fin de compte, il est remarquablement facile avec un script assez compact.
Le script ci-dessous est en grande partie extrait de l'index de script avec quelques astuces très utiles fournies par le développeur JMP, Dr. Lancaster.
Le script commence par extraire les colonnes de la table de données qui sont numériques continues.
Ensuite, un argument vide est créé. La variable "y" fait référence à un argument vide "process variables ()". Ensuite, cette expression est remplie avec les noms de colonne contenus dans "dty".
Les expressions sont utilisées à plusieurs endroits car elles ne sont évaluées que lorsque la variable faisant référence à l'expression est référencée.
L'expression suivante sert à générer le rapport de capacité, et l'argument des variables de processus, maintenant renseigné, est inséré dans obj, qui complète la fonction. Où est inséré "variables de processus (noms)"? Cela n'a pas vraiment d'importance, car tout ce qui est contenu dans "Process Capability ()" n'est qu'un argument de plus.
Il faut noter deux arguments importants dans la capacité de traitement (). Le premier est "Spec Limits (Import ..."), qui indique à la plate-forme quelle table contient les limites de spécification. La seconde, "Spec Limits Dialog (" no (ignorer ...) ", cet argument entraîne le même comportement de plate-forme que de laisser la plate-forme ignorer les colonnes sans spécifications au lieu d'inviter l'utilisateur à les fournir. (ou "Non, ne vous y invitez pas, sautez simplement les colonnes avec les spécifications manquantes.")
Les dernières parties du script fournissent une référence au rapport pour créer un tableau de données à partir du rapport récapitulatif global Sigma et pour enregistrer les spécifications dans un nouveau tableau de données et les propriétés de colonne du tableau de données d'origine.
J'espère que vous trouverez cette explication utile. J'ai également joint les diapositives que j'ai utilisées lors d'une récente journée JMP.
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>
* Les spécifications utilisées dans le rapport sont également incluses dans le rapport de synthèse.