Salut à tous,
J'ai encore une autre question intéressante.
J'ai un datatable à partir duquel je génère un graphique de Levey Jennings, marquant les tests 1, 3 et 5. Si le dernier point du graphique est marqué par l'un de ces tests, je dois dhow le graphique dans une fenêtre différente. Est-ce possible en jsl?
Peu importe si je peux obtenir cela du graphique ou du datatable. Si nécessaire, j'ajoute une colonne supplémentaire avec les tests sur lesquels les points ont été marqués.
Merci!!!,
Jan
Merci pour la réponse et la solution! C'est en fait assez cool.
Le reste du script ne sera pas un problème.
Oops! La déconnexion mis emballé. Cela devrait être plus facile à lire.
Marker({99, 283}), Pen Color(0), Marker Size(3),
Marker({100, 311}), Pen Color(0), Pen Color(3),
Marker(Combine States(Color State(3),Marker State(8)), {98, 275}), Text({98.2, 275}, \!"5\!"), Pen Color(3),
Marker(Combine States(Color State(3),Marker State(8)), {99, 283}), Text({99.2, 283}, \!"5\!"), Pen Color(3),
Marker(Combine States(Color State(3),Marker State(8)), {100, 311}), Text({100.2, 311}, \!"1\!"), Pen Color(0)})Les graphiques de contrôle JMP ont une fonctionnalité appelée script d'alarme. Vous pouvez le spécifier dans l'instruction d'appel. Toutefois, il est plus facile de récupérer des informations si vous utilisez la technique présentée dans le script. L'exemple spécifie une colonne de graphique. Cependant, si vous avez plusieurs colonnes de graphique, assurez-vous que l'alarme écrit qc_col. Voir les notes sous le script.
Names Default To Here( 1 );
dt = New Table ("Data", New Column("Day", numeric, continuous), New Column("Measurement", numeric, continuous),
add rows(100));
dt:Day << set each value(Today() - (101-row())*24*60*60);
dt:Measurement << set each value( if( row() <= 90, floor(Random Normal()*20 + 200),
floor(Random Normal()*20 + 200 + (row() -90)*10) )
);
dt:Day << Format( "m/d/y", 10);
nmx = nrow(dt) + 6;
lj_chart = Control Chart(
Sample Label( :Day ),
KSigma( 3 ),
Chart Col(
:Measurement,
Levey Jennings
),
Alarm Script(Write( qc_col, ": ", qc_sample, ", ")),
SendToReport(
Dispatch(
{"Levey Jennings of Measurement"},
"1",
ScaleBox,
{Min( 0 ), Max( nmx ), Inc( 7 ),
Minor Ticks( 0 )}
)
)
);
flag1 = Log Capture( lj_chart << Test 1(1) );
flag3 = Log Capture( lj_chart << Test 3(1) );
flag5 = Log Capture( lj_chart << Test 5(1) );
show(flag1, flag3, flag5);Maintenant, vous pouvez analyser les "drapeaux" et chercher à déterminer si la dernière valeur est marquée, si c'est le cas, clonez le graphique et placez-le dans une nouvelle fenêtre. Vous n'avez pas précisé si vous vouliez que ce soit une "copie" en direct ou une copie clonée du graphique.
Je ne connais pas vos compétences en JSL, ni vos tâches spécifiques. J'ai donc gardé cet exemple simple.
Il existe une autre méthode pour obtenir cette information, mais elle nécessite une analyse, et je ne la recommanderais pas. La méthode est la suivante: pour chaque graphique, vous obtenez le journal _xx = lj_chart << Get Journal; les points avec des drapeaux auront des marqueurs supplémentaires avec du texte, c'est-à-dire Marqueur (états combinés (...)) . L'insertion ci-dessous a été copiée à partir du journal.
Marker({99, 283}), Pen Color(0), Marker Size(3), Marker({100, 311}), Pen Color(0), Pen Color(3), Marker(Combine States(Color State(3),Marker State(8)), {98, 275}), Text({98.2, 275}, \!"5\!"), Pen Color(3), Marker(Combine States(Color State(3),Marker State(8)), {99, 283}), Text({99.2, 283}, \!"5\!"), Pen Color(3), Marker(Combine States(Color State(3),Marker State(8)), {100, 311}), Text({100.2, 311}, \!"1\!"), Pen Color(0)})Vous pouvez constater que l'échantillon 98 a une valeur de 275 et a été marqué pour la règle 5, idem pour l'échantillon 99, la valeur 283 et que l'échantillon 100 avec la valeur 311 était marqué pour la règle 1.
Remarque finale, étant donné que les mesures sont générées aléatoirement, vous n'obtiendrez probablement pas les mêmes résultats.
Il est long que l’élément de la liste de souhaits enregistre les indicateurs dans la table de données, ou même développe le script d’alarme pour l’écrire dans la table de données.
J'espère que vous trouvez ça utile.
Géorgie