Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phaseDans mon blog " 4 façons d'utiliser les limites de contrôle fixes / de base (historiques) dans Control Chart Builder ", J'ai discuté de quatre méthodes différentes pour entrer des limites de contrôle historiques. Dans ce billet de blog particulier, je discuterai spécifiquement de la définition des limites historiques pour une carte de contrôle lorsqu'une variable de phase est impliquée.
La propriété de colonne, les limites de contrôle définies et les méthodes d'état de ligne exclues ne fonctionneront pas dans ce scénario car JMP ne permet de définir qu'un seul ensemble de limites de contrôle pour l'ensemble du graphique à l'aide de ces méthodes. La seule méthode qui fonctionne pour un diagramme de contrôle de phase dans lequel vous souhaitez différentes limites pour chaque phase est la méthode get limits. Cet article de blog décrit en détail la méthode get limits par rapport à un diagramme de contrôle de phase.
Exemple
Dans mon blog " Génération de limites de contrôle à l'aide de Control Chart Builder , "J'ai introduit un processus d'impression. Pour les besoins de cet article de blog, l’imprimerie souhaite réduire la variabilité de la force nécessaire pour rompre le lien entre le papier et le dos du livre. Ils veulent le faire pour chacune des trois usines différentes. Un nouveau processus est décidé sur la base d'une expérience conçue. Les données sont recueillies à partir du nouveau processus. L'objectif est de tracer les nouvelles données sur une carte de contrôle avec les limites historiques de l'ancien processus. De cette façon, l’imprimerie peut comparer le nouveau processus aux anciennes limites.
Chaque usine possède des machines différentes, des opérateurs différents et est également située dans différents pays. par conséquent, chaque usine possède un ensemble unique de limites et d'informations historiques. Les limites de contrôle historiques ont été calculées avec les anciennes données (avant le changement de processus). Ce tableau de contrôle de phase peut être vu ci-dessous.
Figure 1: Phase control chart with historical dataFigure 1: Phase control chart with historical dataFigure 1: Phase control chart with historical dataFigure 1: Diagramme de contrôle de phase avec données historiques
Tableau des limites
Pour utiliser la méthode get limits, nous devons avoir un tableau de données limites. Trois colonnes sont nécessaires dans cette table de limites:
- Une colonne _LimitsKey, qui définit la statistique.
- Une colonne portant le même nom que la variable de processus contenant la valeur de la statistique répertoriée dans la colonne _LimitsKey.
- Une colonne portant le même nom que la variable de phase contenant des informations d'identification sur la phase à laquelle la statistique s'applique.
JMP 13.1 et les versions ultérieures créeront cette table pour vous si vous cliquez sur le triangle rouge en regard de Control Chart Builder et choisissez Save Limits -> in New Table. Pour les versions du logiciel antérieures à JMP 13.1, vous pouvez facilement créer ce tableau vous-même à partir du tableau Résumés des limites d'un rapport de générateur de diagrammes de contrôle. Pour créer cette table, cliquez avec le bouton droit de la souris sur la table Résumés des limites de force illustrée à la figure 1 et choisissez Transformer en table de données.
Figure 2: Force Limits Summary tableFigure 2: Force Limits Summary tableFigure 2: Force Limits Summary tableFigure 2: Tableau récapitulatif des limites de force
Vous devrez effectuer certaines manipulations de la table de données pour obtenir cette table au format approprié. Choisissez Tables-> Pile. Sélectionnez LCL, Avg et UCL, puis cliquez sur Stack Columns. Dans la zone en regard de Nom de la table en sortie, tapez Limites de force. Modifiez le nom de la colonne de données empilées sur Force.
Figure 3: Stack dialogFigure 3: Stack dialogFigure 3: Stack dialogFigure 3: Dialogue de pile
Cliquez sur OK. Nous devons créer la colonne _LimitsKey. JMP recherche _LCL, _Avg et _UCL plutôt que LCL, Avg et UCL. Pour le tableau de dispersion, JMP recherche _LCLR, _AvgR et _UCLR. Nous pouvons le faire en utilisant une formule. Dans le tableau des limites de phase nouvellement créé, sélectionnez Cols-> Nouvelle colonne. Nommez la Column _LimitsKey. Cliquez sur Propriétés de la colonne et sélectionnez Formule. Entrez la formule suivante.
Figure 4: Formula for the _LimitsKey columnFigure 4: Formula for the _LimitsKey columnFigure 4: Formula for the _LimitsKey columnFigure 4: formule pour la colonne _LimitsKey
Cliquez sur OK.
Figure 5: New Column dialogFigure 5: New Column dialogFigure 5: New Column dialogFigure 5: boîte de dialogue Nouvelle colonne
Cliquez sur OK. Votre nouvelle table de limites devrait ressembler à ceci.
Figure 6: Force limits data tableFigure 6: Force limits data tableFigure 6: Force limits data tableFigure 6: Tableau de données des limites de force
Carte de contrôle de phase avec limites historiques
Une modification a été apportée au processus qui, espère-t-il, permettra de réduire la variabilité de la force nécessaire pour rompre le lien entre les pages et le dos du livre. Nous avons une nouvelle table de données contenant 70 lignes de données enregistrées après la modification. Nous aimerions utiliser les limites historiques sur le nouveau graphique afin de voir comment les nouvelles données (après le changement de processus) se comparent à nos informations historiques (avant le changement de processus).
Figure 7: Data from new processFigure 7: Data from new processFigure 7: Data from new processFigure 7: Données du nouveau processus
Pour créer la carte de contrôle, sélectionnez Analyser-> Qualité et processus-> Générateur de cartes de contrôle. Faites glisser Site vers le rôle de phase. Faites glisser Force vers le rôle Y. Faites glisser run sur l'axe des x.
Figure 8: Force control chart with new dataFigure 8: Force control chart with new dataFigure 8: Force control chart with new dataFigure 8: Carte de contrôle de la force avec de nouvelles données
Pour appliquer vos limites historiques à ce graphique, cliquez sur le triangle rouge en regard de Control Chart Builder et choisissez Obtenir les limites. Choisissez la table Force Limits.jmp créée à la figure 6.
Figure 9: Force control chart with historical limitsFigure 9: Force control chart with historical limitsFigure 9: Force control chart with historical limitsFigure 9: Carte de contrôle de la force avec limites historiques
Conclusions
Aucun des points ne se situe en dehors des limites de contrôle pour l'emplacement ou le diagramme de dispersion. L'objectif était de réduire la variabilité. En regardant le graphique de la plage de déplacement, nous constatons que la plupart des points tombent en dessous de la ligne moyenne. En particulier pour les sites 1 et 2, il est clair que la variabilité de la force nécessaire pour rompre le lien entre les pages et le dos du livre a été réduite. Le site 3 n’est pas aussi évident que les sites 1 et 2. Il semble que la variabilité ait peut-être été réduite. Cependant, il n'est pas clair s'il s'agit d'un changement significatif ou non. Les améliorations apportées au processus d’impression ont permis de réduire la variabilité.
Références
Logiciel JMP: Notes de cours sur le contrôle de processus statistique
Phase control chart with historical limitsPhase control chart with historical limitsPhase control chart with historical limitsCarte de contrôle de phase avec limites historiques
Voir comment définir des limites historiques pour une carte de contrôle lorsqu'une variable de phase est impliquée.
Re: Créer un tableau de contrôle de phase avec des limites historiques pour chaque phaseNon, je ne connais pas de manière plus élégante. Malheureusement, la commande Obtenir les limites utilise uniquement une table de données précédemment enregistrée.
Re: Créer un tableau de contrôle de phase avec des limites historiques pour chaque phaseD'ACCORD. Je vous remercie. Je vais le faire de cette manière dans les scripts. Cela signifie que je vais parcourir toutes les catégories "par" dans une table T1 et que chaque itération sauvegarde la table L1 du fichier T1 à un répertoire temporaire. Ensuite, je vais exécuter la commande Control chart et supprimer le fichier L1. Existe-t-il un moyen plus élégant d'exécuter tout cela sans enregistrer la table des limites à chaque itération?Re: Créer un tableau de contrôle de phase avec des limites historiques pour chaque phaseOui, tu peux faire ça. Vous auriez besoin d'une table distincte pour chaque niveau de la variable by. Chacune des tables aurait le même aspect que dans l'article de blog.
Re: Créer un tableau de contrôle de phase avec des limites historiques pour chaque phaseBonjour Tonya, C'était très utile, merci pour votre blog. Est-il possible de créer plusieurs cartes de contrôle avec "Par" une catégorie et "Get Limits" à partir d'un tableau avec différentes limites pour les phases de chaque catégorie? Si oui, à quoi doit ressembler la table des limites?Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phaseBonjour à tous - je suis heureux de vous informer qu'avec JMP 15.0 et versions ultérieures, la commande Get Limits acceptera désormais soit une table précédemment enregistrée OU une table de données actuellement ouverte.
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phaseC'est une fonctionnalité géniale qui, je pense, me permet d'obtenir 90% de ce que je veux être avec quelque chose. J'ai un système où je surveille quelques centaines de cartes de contrôle. Les limites changent au fur et à mesure qu'une norme de référence change avec le temps. Cela me permettra de définir les normes de benchmarking comme des phases.
Maintenant, voici le défi. Mon espoir était d'utiliser un filtre de données local pour basculer entre les quelques centaines de cartes de contrôle. Cela fonctionne très bien si je fonctionne dans le générateur de graphiques, mais je ne vois pas comment filtrer mes limites ainsi que les données.
Quelqu'un voit-il un moyen facile pour y parvenir?
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phase @Evan_Morris Je ne suis pas sûr de comprendre vos données ou ce que vous essayez d'accomplir. La plateforme Process Screening serait peut-être mieux adaptée à vos besoins si vous disposez de centaines de cartes de contrôle. Je suggère de jeter un œil au billet de blog suivant, Limites de spécification de processus qui diffèrent en fonction d'une colonne de regroupement . Si vous jetez un œil à la 4ème capture d'écran de ce billet de blog, vous verrez que vous pouvez entrer la ligne médiane et le sigma pour les limites de contrôle. Les limites de spécification ne sont pas requises pour cette plate-forme.
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phaseTonya
Je surveille quelques centaines de processus de fabrication où chacun a sa propre moyenne qui change de temps en temps. J'utilise le tableau des phases pour gérer ce changement moyen. J'ai eu de la chance en utilisant les filtres de données locaux dans la structure graphique normale pour permettre une exploration rapide à travers les 100+ ensembles de données, mais si je le fais, je ne peux pas apporter les limites de contrôle.
Cela dit, votre point sur le filtrage des processus est EXCELLENT. Je pense que c'est la voie à suivre.
Merci beaucoup
Evan
Objet : Création d'une carte de contrôle de phase avec des limites historiques pour chaque phaseBonjour,
la dernière question que j'avais dans le groupe de discussion était de construire un "Dashboard filter dynamic X-axis but fixed limit of control charts". Cette fois, j'ai essayé d'améliorer mon tableau de bord en implémentant également une phase dans mes cartes de contrôle car j'ai trois machines et quatre paramètres que j'aime voir dans mon tableau de bord. Mon plan était de suivre votre article ici, mais j'ai quelques problèmes. Je vais d'abord expliquer mon idée. J'ai un tableau excel avec quatre paramètres dans des formats de colonnes et une colonne définissant sur quelle machine la production était en cours. J'importe la table dans jmp, lance mes 4 scripts pour faire une carte de contrôle pour chaque paramètre définissant la colonne machine comme phase. Ensuite, je passe par le triangle rouge et enregistre les limites dans 4 tables (1). De cette façon, j'ai les limites enregistrées pour la situation jusqu'à ce que de nouvelles données arrivent. Une fois que ma table Excel d'origine contient de nouvelles données, je mets à jour ma table jmp à partir d'Excel. J'exécute mes scripts pour les 4 paramètres et via le triangle rouge, j'obtiens mes limites à partir des tables que j'ai enregistrées précédemment dans ces 4 cartes de contrôle. Ensuite, j'exécute mon script pour le tableau de bord contenant les quatre cartes de contrôle.
Alors maintenant, je peux voir si quelque chose a changé en termes de paramètres ou de machines. Ce qui me manque pour le moment, c'est que je ne sais pas comment renommer les tables en (1) en un nom comme "Limits Parameter 1", ce qui me permettrait de tout mettre plus facilement dans un script. Les tables que je reçois de (1) n'incluent pas de script sur la façon dont elles ont été construites.
Je pourrais utiliser la façon dont vous avez décrit l'obtention de la table des limites et sa transformation, mais je n'ai pas réussi et j'ai pensé qu'il devait y avoir une nouvelle commande peut-être puisque votre article date de 2017 et que l'utilisation de JMP 13 et des commandes derrière le menu triangle rouge doit être quelque part. Donc, avec cette commande, je pourrais créer mon script, je suppose.
Meilleures salutations,
Jan
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phase@jan_kreuzmann Je suis confus quant à ce que vous demandez de l'aide. Il semble que vous utilisiez toujours Control Chart Builder plutôt que Process Screening. Il semble également que vous vouliez savoir comment renommer votre table de limites. Vous pouvez le faire avec la commande set name. Si j'ai mal compris, merci de fournir plus d'informations. Quelques exemples de code et peut-être des images de ce que vous voulez seraient utiles.
dt=Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
obj=dt<<CONTROL chart="" builder=""></CONTROL>Objet : Création d'une carte de contrôle de phase avec des limites historiques pour chaque phase@tonya_mauldin le script que vous avez envoyé a bien fonctionné. Merci.
Comme je ne suis pas familier avec le filtrage de processus, j'essayais d'implémenter des phases dans mes cartes de contrôle (celles que j'avais l'habitude de configurer dans le post "Dashboard filter dynamic X-axis but fixed limit of control charts"), que j'utilise ensuite pour configurer le tableau de bord.
J'ai eu droit à ça :
// get the open table as current one
dt = current data table();
// make control charts for all parameters with machine as phase and save the limits into data table
obj=dt<Size( 528, 464 ),
Show Two Shewhart Charts( 0 ),
Test Excluded Subgroups( 0 ),
Show Control Panel( 0 ),
Include Missing Categories( 0 ),
Show Excluded Region( 0 ),
Show Limit Summaries( 0 ),
Variables( Subgroup( :Lot Nr. ), Y( :Parameter 1 ), Phase( :Machine ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ), Shade Zones( 1 ) )
),
SendToReport(
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{DispatchSeg(
TextSeg( 1 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 2 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 3 ),
{Line Color( "None" ), Fill Color( "None" )}
)}
)
)
);
dtLimits=obj<dtLimits<<Set Name("Limits Parameter 1");
Je le ferais pour tous mes paramètres.
Alors j'ai pensé :
Avec les cartes de contrôle, j'ai configuré un tableau de bord,
puis mettre à jour ma table jmp.
dt1 = Current Data Table();
n_rows = N Rows();
dt2 = Open(
"//Dashoardtest.xlsx",
Worksheets( "Tabelle1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 0 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
dt2 << DeleteRows( Index( 1, n_rows ) );
dt1 << Concatenate( dt2, Append to first table );
Close( dt2 );
Names Default To Here( 1 );
dt = Current Data Table();
cela mettrait automatiquement à jour mon tableau de bord qui à son tour calculerait de nouvelles limites.
Dans ce tableau de bord, j'ai maintenant le même problème que j'avais avec le précédent, car les limites seront calculées en fonction du numéro de lot que je choisis. La dernière fois que vous avez aidé avec la commande pour enregistrer les limites dans les propriétés de la colonne, cela ne fonctionne que sans phase.

Je peux toujours récupérer manuellement les anciennes limites des tableaux dans la carte de contrôle de mon tableau de bord ouvert à l'aide du menu triangle rouge, mais je ne vois pas la possibilité de le faire avec un script.
En d'autres termes, comment puis-je obtenir les limites des premières cartes de contrôle dans mon tableau de bord maintenant mis à jour ?
Et comment puis-je faire en sorte que le tableau de bord garde les limites quel que soit le numéro de lot que je choisis ? comme si je l'avais exécuté dans l'autre tableau de bord :

Ici, vous pouvez voir que je n'ai choisi qu'un seul lot et que toutes les limites sont toujours affichées.
Peut-être avez-vous une idée de ce que je pourrais faire.
meilleures salutations
Jan
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phase@jan_kreuzmann Vous devez utiliser la commande Get Limits comme indiqué dans l'article de blog. Vous pouvez trouver un exemple de script dans l'index de script d'objet.
dt = Open(<BR />"$SAMPLE_DATA/Quality Control/Coating.jmp"<BR />);<BR />obj = dt <<<BR />Control Chart Builder(<BR />Variables( Subgroup( :Sample ), Y( :Weight ) ),<BR />Chart(<BR />Position( 1 ),<BR />Points( Statistic( "Average" ) ),<BR />Limits( Sigma( "Range" ) )<BR />),<BR />Chart(<BR />Position( 2 ),<BR />Points( Statistic( "Range" ) ),<BR />Limits( Sigma( "Range" ) )<BR />),<BR />Get Limits(<BR />"$SAMPLE_DATA/Quality Control/CoatingLimits.jmp"<BR />)<BR />);
Puisque vous avez nommé votre table dtLimits, vous pouvez utiliser
Get Limits(dtLimits)
Re: Création d'un graphique de contrôle de phase avec des limites historiques pour chaque phase@jan_kreuzmann je ne suis pas sûr d'avoir bien compris, mais peut-être que cette méthode aide à obtenir le tableau des limites, y compris les phases :
obj = Open( "$SAMPLE_DATA/Cities.jmp" ) << Control Chart Builder(
Test Excluded Subgroups( 1 ),
Variables( Y( :OZONE ), Phase( :Region ) )
);
obj << Save Limits ( in New Table);
Est-ce (l'une des choses) dont vous avez besoin ?