Ich habe ein Skript, in dem wir Kontrolldiagramme für viele Parameter generieren. Bei einigen Parametern gibt es keine Schwankungen in den Daten (z. B. liegen alle Daten unterhalb der Nachweisgrenze). Für diese Parameter ohne Variation zeigen alle Proben Warnungen, z. B. Test 1 (Ein Punkt hinter Zone A).
Diese Warnungen/Alarme machen in unserer Situation keinen Sinn. Gibt es einen Trick, um Warnungen zu vermeiden, wenn es keine Datenabweichung gibt?
Ein Beispiel ist in der folgenden Kontrollkarte dargestellt, die aus dem beigefügten Skript generiert wurde:

// Make data table with no variation and set spec limits
dt = New Table( "Control chart data",
Add Rows( 20 ),
New Column( "x", Numeric, "Continuous")
);
ForEachRow(x=0.1);
dt:x << Set Property("Spec Limits", {LSL( 0 ), USL(1 ), Show Limits( 1 )} );
// Make Individual control chart with Test 1
dt << Control Chart Builder(
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Alarm Report( 1 ),
Variables( Y( :x ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Levey Jennings" ), Spec Limits( 0 ) ),
Warnings( Test 1( 1 ) )
)
);
Ich verwende JMP 15.0.
Peter
Hallo @peter_t ,
Dies ist vielleicht nicht die eleganteste Art, Ihre Lösung anzugehen, aber für jeden der Prozesse, auf denen Sie dies ausführen, können Sie überprüfen, ob die Standardabweichung 0 ist, und wenn ja, den booleschen Wert festlegen, um die Durchführung eines Tests anzuzeigen und/oder die Alarmmeldung auf 0. Sie könnten auch die gesamte Regelkarte in einen booleschen Wert einschließen, sodass Sie die Regelkarte nicht ausführen, wenn der Testwert 0 ist – da eine Regelkarte für einen Prozess, der immer konstant ist, nicht wirklich sinnvoll ist. Wie auch immer, werfen Sie einen Blick auf den folgenden Code und sehen Sie, wie ich den Testwert Boolean TestV ersetze.
Names Default To Here( 1 );
// Make data table with no variation and set spec limits
dt = New Table( "Control chart data", Add Rows( 20 ), New Column( "x", Numeric, "Continuous" ) );
dt:x << Set Each Value( 0.1 );
dt:x << Set Property( "Spec Limits", {LSL( 0 ), USL( 1 ), Show Limits( 1 )} );
//test if standard deviation is 0, if so, set test value to 0
xstdev = Col Std Dev( :x );
If( xstdev == 0,
TestV = 0,
TestV = 1
);
// Make Individual control chart with Test 1
dt << Control Chart Builder(
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Eval( Substitute( Expr( Show Alarm Report( _Test_V ) ), Expr( _TestV_ ), TestV ) ),
Variables( Y( :x ) ),
Eval(
Substitute(
Expr(
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Levey Jennings" ), Spec Limits( 0 ) ),
Warnings( Test 1( (Expr( _TestV_ )) ) )
)
),
Expr( _TestV_ ), TestV
)
)
);Hoffe das hilft!,
DS
PS Ich musste den Set Each Value-Befehl in Ihrem Code ändern, damit er die Zeilen korrekt auffüllt.