<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Les valeurs de données violant les règles d'exécution sélectionnées sont identifiées dans la carte de contrôle ; comment puis-je étiqueter ou identifier ces points dans le tableau de données autrement qu'en cliquant dessus dans les graphiques ? Comment puis-je demander à JMP d'étiqueter les numéros de ligne correspondants dans la table de données ou dans une liste ?
Merci
Il s'avère que la méthode ci-dessus n'est pas requise puisque (à partir de JMP 12) Control Chart Builder peut faire ce qui est requis via le tableau récapitulatif qu'il génère :
NomsDefaultToHere ( 1 ) ;
// Créez un graphique à partir de dt1 à l'aide de Control Chart Builder
dt1 = Ouvrir ( "$Sample_Data/Contrôle qualité/Coating.jmp" ) ;
ccb = dt1 << Générateur de cartes de contrôle (
Variables ( Sous-groupe ( : Échantillon ) , Oui ( : poids ) ) ,
Graphique (
Position ( 1 ) ,
Avertissements (
Essai 1 ( 1 ) ,
Essai 2 ( 1 ) ,
Essai 3 ( 1 ) ,
Essai 4 ( 1 ) ,
Essai 5 ( 1 ) ,
Essai 6 ( 1 ) ,
Essai 7 ( 1 ) ,
Essai 8 ( 1 )
)
) ,
Graphique ( Position ( 2 ) )
) ;
// Enregistre les résumés dans une nouvelle table dt2
dt2 = ccb << EnregistrerRésumés ;
// Les violations des règles se produisent dans dt2 dans la colonne "Échecs des tests" sous forme de texte délimité par des virgules ("" si aucune violation)
dt2 << SélectionnezOù ( : Échecs des tests != "" ) ;
Pas particulièrement élégant, mais vous pouvez forcer le « Script d'alarme () » à le faire en utilisant l'approche ci-dessous (pour plus de détails sur le « Script d'alarme () », voir le « Guide de script » sous « Aide > Livres ») :
NomsDefaultToHere ( 1 ) ;
Effacer le journal () ; // Obligatoire car nous devons "gratter" le contenu de la fenêtre de journal (voir ci-dessous)
// Créez un exemple de table de données. Parce que les données générées sont parfaitement « sous contrôle », nous pouvons avoir besoin de nombreux échantillons
ss = 5 ; // Taille de l'échantillon
ns = 500 ; // Nombre d'échantillons
sv = Trier par ordre croissant ( Répéter (( 1 :: ns ) ', ss )) ;
dt = NouveauTableau ( "Utiliser rétrospectivement un script d'alarme" ,
NouvelleColonne ( "Poids" , Numérique , Continu , Formule ( AléatoireNormal ( 0 , 1 ))) ,
NouvelleColonne ( "Échantillon" , Numérique , Continuité , Valeurs ( sv ))
) ;
// Créez une carte XBar - R et appliquez trois des tests pour signaler les conditions hors de contrôle
dt << Carte de contrôle (
// Notez que le script d'alarme DOIT APPARAÎTRE EN PREMIER dans 'ControlChart()' !
Script d'alarme ( Écrire ( "--->Numéro de règle défaillante : " , QC_Test , " Numéro d'échantillon: " , QC_Échantillon , " Exemple de ligne de départ : " , QC_PremièreRangée , " Exemple de ligne de fin : " , QC_LastRow , "\!N" ) ) ,
Col du graphique ( : Poids , Barre X ( Essai 1 ( 1 ) , Essai 2 ( 1 ) , Essai 5 ( 1 ) ) , R. ) ,
Taille de l'échantillon ( : Échantillon ) ,
Ksigma ( 3 )
) ;
// Le script d'alarme ne donne que les options "Parler", "Ecrire" (dans le journal et utilisé ci-dessus) ou "E-mail", car comme son nom l'indique, il est destiné au temps réel
// utiliser. Pour l'utiliser rétrospectivement, le meilleur moyen est de « gratter » les valeurs nécessaires dans la fenêtre de journal. . .
SMS = ObtenirLog () ; // txt est une liste, avec des éléments (texte) correspondant à chaque ligne de la fenêtre de journal
// Ce code sélectionne toutes les lignes de dt associées à un indicateur hors de contrôle. . .
lignes2sélectionner = [] ;
pour ( un = 1 , un <= NArticles ( SMS ) - 1 , un ++,
motsEnLigne = Mots ( SMS [ un ] , " " ) ;
si ( motsEnLigne [ 1 ] == "--->Échec" ,
sampleStartRow = Numéro ( motsEnLigne [ 11 ]) ;
sampleEndRow = Numéro ( motsEnLigne [ 15 ]) ;
lignes2sélectionner = VConcat ( lignes2sélectionner , ( sampleStartRow :: sampleEndRow ) ` )
) ;
) ;
dt << sélectionner des lignes ( lignes2sélectionner ) ;