Ciao a tutti,
Ho ancora un'altra domanda interessante.
Ho un datatable da cui ho generato una tabella di Levey Jennings, contrassegnando i test 1, 3 e 5. Se l'ultimo punto del grafico è contrassegnato da uno di questi test, ho bisogno di mostrare il grafico in una finestra diversa. È possibile in jsl?
Non importa se riesco a ottenere questo dal grafico o dal datatable. Se necessario, aggiungo una colonna in più con i test con cui sono stati contrassegnati i punti.
Grazie!!!,
Jan
Grazie per la risposta e la soluzione! Questo è in realtà abbastanza interessante.
Il resto dello script non sarà un problema.
oops! La disconnessione è stata spostata. Questo dovrebbe essere più facile da leggere.
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)})I grafici di controllo JMP hanno una funzione chiamata Script di allarme. È possibile specificarlo nell'istruzione della chiamata, tuttavia è più facile recuperare le informazioni se si utilizza la tecnica mostrata nello script. L'esempio specifica un Col grafico, tuttavia, se si dispone di più colonne del grafico, assicurarsi che l'allarme scriva qc_col. Vedi le note sotto la sceneggiatura.
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);Ora è possibile analizzare i "flag" e cercare di determinare se l'ultimo valore è contrassegnato, Se è quindi clonare il grafico e posizionarlo in una nuova finestra. Non hai dichiarato, se volevi che fosse una "copia" in diretta o una copia clonata del grafico.
Non conosco le tue capacità JSL, né le specifiche dell'attività, quindi ho mantenuto semplice questo esempio.
C'è un altro metodo per ottenere queste informazioni, ma richiede l'analisi e non lo consiglierei. Il metodo è Per ogni grafico si ottiene il journal _xx = lj_chart << Get Journal; i punti con le bandiere avranno marcatori aggiuntivi con testo, ovvero Marker (Combine States (...)) . L'inserto sottostante è stato copiato dal registro.
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)})È possibile vedere che l'esempio 98 ha un valore di 275 ed è stato contrassegnato per la regola 5, idem per il valore di campione 99 283 e l'esempio 100 con il valore 311 è stato contrassegnato per la regola 1.
Nota finale, dal momento che le misurazioni sono generate casualmente, probabilmente non otterrai gli stessi risultati di queste.
È un elemento di Wish List da molto tempo per salvare i flag nella tabella dei dati, o addirittura espandere lo Alarm Script per scrivere sulla tabella dei dati.
Spero che lo trovi utile
Georgia