Hallo allerseits,
Ich habe noch eine andere interessante Frage.
Ich habe eine Datentabelle, aus der ich ein Levey Jennings-Diagramm generiere, das die Tests 1, 3 und 5 angibt. Wenn der letzte Punkt im Diagramm durch einen dieser Tests markiert ist, muss ich das Diagramm in einem anderen Fenster anzeigen. Ist das in jsl möglich?
Es ist egal, ob ich dies aus der Tabelle oder aus der Datentabelle erhalten kann. Bei Bedarf füge ich eine zusätzliche Spalte mit den Tests hinzu, mit denen die Punkte markiert wurden.
Vielen Dank!!!,
Jan
Danke für die Antwort und die Lösung! Das ist eigentlich ziemlich cool.
Der Rest des Skripts ist kein Problem.
Hoppla! Die Abmeldung wurde verpackt. Dies sollte leichter lesbar sein.
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)})JMP-Steuerungskarten verfügen über eine Funktion, die als Alarmskript bezeichnet wird. Sie können es in der Aufrufanweisung angeben. Das Abrufen von Informationen ist jedoch einfacher, wenn Sie die im Skript gezeigte Technik verwenden. Das Beispiel gibt eine Diagrammspalte an. Wenn Sie jedoch mehrere Diagrammspalten haben, stellen Sie sicher, dass der Alarm qc_col ausschreibt. Siehe die Anmerkungen unter dem Skript.
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);Jetzt können Sie die "Flags" analysieren und feststellen, ob der letzte Wert markiert ist. Wenn dies der Fall ist, klonen Sie den Graphen und platzieren ihn in einem neuen Fenster. Sie haben nicht angegeben, ob es sich um eine Live-Kopie oder eine geklonte Kopie des Diagramms handelt.
Ich kenne weder Ihre JSL-Fähigkeiten noch die Aufgabenspezifikationen. Daher habe ich dieses Beispiel einfach gehalten.
Es gibt eine andere Methode, um diese Informationen zu erhalten, aber es ist ein Analysieren erforderlich, und ich würde es nicht empfehlen. Die Methode ist Für jedes Diagramm erhalten Sie das Journal _xx = lj_chart << Get Journal; die Punkte mit Flags haben zusätzliche Markierungen mit Text, das heißt Marker (Kombinierte Staaten (...)) . Die untenstehende Einfügung wurde aus dem Protokoll kopiert.
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)})Sie sehen, dass Probe 98 einen Wert von 275 hat und für Regel 5 markiert wurde, dito für Probe 99, Wert 283, und Probe 100 mit Wert 311 wurde für Regel 1 markiert.
Schlussbemerkung: Da die Messungen zufällig generiert werden, erhalten Sie wahrscheinlich nicht die gleichen Ergebnisse wie diese.
Es ist ein langes Element der Wunschliste, die Flags in der Datentabelle zu speichern oder sogar das Alarmskript zu erweitern, um in die Datentabelle zu schreiben.
Ich hoffe, du findest das nützlich.
Georgia