Auparavant, partir des données d'un tableau et des limites de spécifications dans un autre était une manière difficile de démarrer une analyse de capacité à grande échelle. Bien que le script d'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 puisse constituer un droit de passage dans certains segments de l'industrie, il existe de meilleures options. T La plateforme d'analyse des capacités de JMP 12 permet de travailler avec des données et un tableau de spécifications distinct en une tâche simple et rapide. Dans cet article, je vais expliquer comment tirer parti de la plate-forme de fonctionnalités 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. Parcourir le processus manuellement ne nécessite que quelques clics ( Exemple de plateforme de capacité de processus ), mais l'objectif final est de créer un script pour la plate-forme afin d'automatiser à la fois l'analyse et de mettre à jour les propriétés des colonnes d'une table de données avec les limites de spécification. Il s'avère que c'est remarquablement simple avec un script assez compact.
Le script ci-dessous est en grande partie extrait de l'index des scripts avec quelques conseils très utiles du développeur JMP, le Dr Lancaster.
Le script commence par récupérer 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 "process variables()" vide. Ensuite, cette expression est remplie avec les noms de colonnes contenus dans "dty".
Les expressions sont utilisées à plusieurs moments 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 rempli est inséré dans obj qui complète la fonction. Où sont insérés les « variables de processus (noms) » ? Cela n'a pas vraiment d'importance, car tout ce qui se trouve dans "Process Capability()" n'est qu'un autre argument.
Il y a deux arguments importants à noter dans Processcapacité(). Le premier est "Spec Limits(Import..."), qui indique à la plate-forme quelle table contient les limites de spécification.Le second, "Spec Limits Dialog( "no(skip..."cet argument provoque le même comportement de la plate-forme que de laisser la plate-forme ignorer les colonnes qui n'ont pas de spécifications plutôt que d'inviter l'utilisateur à les fournir. (ou : "Non, ne demandez pas, ignorez simplement les colonnes contenant des 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 de synthèse Sigma global 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.