Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsLiebe Community,
Ich arbeite in der Pharmaindustrie und möchte eine Kontrollkarte gemäß der Arzneibuchrichtlinie EP 2.9.5 erstellen.
Der Test läuft wie folgt ab:
- Gewicht 20 Tabletten
- mehr als 2 sollten mehr als 7,5 % vom beobachteten Mittelwert abweichen
- Keiner sollte mehr als 15 % vom beobachteten Mittelwert abweichen
Gibt es eine Möglichkeit, die Grenze im Kontrolldiagramm auf 7,5 % des Mittelwerts und 15 % des Mittelwerts festzulegen, anstatt sie auf Sigma zu basieren?
Ich weiß, dass ich als Ersatz die Daten auf 100 % normalisieren und im Diagrammersteller eine feste Referenzlinie hinzufügen kann, aber ich möchte die Originaldaten lieber nicht normalisiert lassen, um auch die Abweichung von 100 % (Ziel) zu visualisieren.

Vielen Dank für Ihre Unterstützung,
Clemens
Datenexploration und -visualisierungQualitäts- und ProzesstechnikBetreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsSie können diese Art von „gruppierten“ Linien auch im Graph Builder erstellen, indem Sie beispielsweise Col Mean und Col Std Dev verwenden, um diese Statistiken über Gruppen zu berechnen
Betreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsUm Spezifikationsgrenzen auf +/-15 % vom Mittelwert festzulegen, verwenden Sie das folgende Skript als Beispiel. So können Sie Punkte über 15 % einfach prüfen und melden.
// Based on txnelson's post from Nov 9, 2023.
// The usual frontmatter:
Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
Names Default To Here( 1 );
dt = Current Data Table();
// Change column property: DIAMETER
theMean = Col Mean(:DIAMETER);
Eval(
Substitute(
Expr(
dt:DIAMETER << set property(
"Spec Limits",
{LSL( _LSL_ ),
//Target( _Target_ ),
USL( _USL_ ),
Show Limits( 1 )}
)
),
Expr( _LSL_ ), 0.85*theMean,
//Expr( _Target_ ), theMean,
Expr( _USL_ ), 1.15*theMean
)
);
Die gleichzeitige Überprüfung von Punkten über 7,5 % und Punkten über 15 % ist etwas schwieriger. Eine Möglichkeit wäre, 7,5 % als bekanntes „historisches Sigma“ des Prozesses festzulegen. Anschließend könnten Sie die integrierten Warnfunktionen im Control Chart Builder nutzen, um nach Punkten über 1 bzw. 2 Sigma zu suchen.
Legen Sie 7,5 % des Mittelwerts als „historisches“ Sigma fest, indem Sie die Option „Rotes Dreieck“ -> „Sigma festlegen“ verwenden. Klicken Sie anschließend mit der rechten Maustaste auf das Diagramm und wählen Sie „Warnungen“ -> „Tests anpassen“. Ändern Sie Test 1 so, dass nach Punkten über 1 Sigma gesucht wird (oder führen Sie diese Schritte wie unten gezeigt aus).
Setzen Sie dann KSigma auf 2, und jetzt prüft „Test Beyond Limits“ auch auf Punkte über 15 %.
Dies ist zwar nicht die übliche Art, Kontrollkarten zu verwenden, aber es würde den Zweck erfüllen.
Fügen Sie dazu Folgendes an das obige Skript an:
// Control chart builder with manually set historical sigma
Eval(
Substitute(
Expr(
Control Chart Builder(
Variables( Y( :DIAMETER ) ),
Set Sigma( _sigma_ ),
K Sigma( 2 ),
Customize Tests( Test 1( 1, "1" ) ),
Chart( Position( 1 ), Limits( Spec Limits( 1 ) ) )
);
),
Expr( _sigma_ ), 0.075*theMean,
)
);
Betreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsNur um klarzustellen: Was Sie versuchen, ist keine Kontrollkarte . Die Grenzen der Kontrollkarte haben nichts mit Spezifikationen zu tun, die unabhängig von der tatsächlichen Prozessvariation abgeleitet werden. Wenn Sie auf Spezifikationen reagieren, als wären sie zuweisbar/aufgrund einer besonderen Ursache, wird die Variabilität langfristig wahrscheinlich zunehmen (siehe Deming und Shewhart).
Dies bedeutet nicht, dass Sie die Daten nicht im Vergleich zur Spezifikation darstellen können, aber dies ist kein Kontrolldiagramm und Sie müssen bei Ihrer Reaktion auf diese Grenzen vorsichtig sein.
Betreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsIch habe versucht, es im Graph Builder zu tun und bin so weit gekommen (mit der Kontrolldiagrammplattform ist es mir nicht gelungen).
Ich habe 5 neue Spalten erstellt:
- Mittelwert nach Kategorie
- T2 neg = :Mittelwert nach Kategorie*0,85
- T2 pos = :Mittelwert nach Kategorie*1,15
- T1 neg = :Mittelwert nach Kategorie*0,925
- T1 pos = :Mittelwert nach Kategorie*1,075
Dann habe ich das folgende Skript verwendet
Graph Builder(
Spacing Borders( 1 ),
Variables(
Y( :Weight in % of target ),
Y( :T2 neg, Position( 1 ) ),
Y( :T2 pos, Position( 1 ) ),
//Y( :T1 neg, Position( 1 ) ),
//Y( :T1 pos, Position( 1 ) ),
Group X( :"Concatenate[Batch,Tray]"n )
),
Elements(
Points( Y( 1 ) ),
Line( Y( 2 ) ),
Line( Y( 3 ) ),
//Line(Y( 4 )),
//Line(Y( 5 ))
)
);
*Hinweis: JSL wurde von txnelson in die JSL Box verschoben
Mit nur zwei aktivierten Zeilen funktioniert es gut:

aber wenn ich die vier Zeilen aktiviere (indem ich das // im Skript entferne), erhalte ich ein seltsames Diagramm:

Irgendeine Idee?
Betreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsMöglicherweise wird die Y-Achse gruppiert, wie es JMP tun könnte, wenn Sie mehrere Spalten in der Y-Achse haben

Graph Builder(
Size(788, 927),
Variables(
Y(:NPN1, Combine("Merged")),
Y(:neg1, Position(1), Combine("Merged")),
Y(:pos1, Position(1), Combine("Merged")),
Y(:neg2, Position(1), Combine("Merged")),
Y(:pos2, Position(1), Combine("Merged")),
Group X(:wafer)
),
Elements(Points(Y(1), Legend(40)), Line(Y(2), Y(3), Y(4), Y(5), Legend(41))),
SendToReport(
Dispatch({"Points"}, "", OutlineBox, {Close(0)}),
Dispatch({"Line"}, "", OutlineBox, {Close(0)})
)
);Betreff: Kontrollkartengrenzen als Prozentsatz des tatsächlichen MittelwertsPerfekt, vielen Dank an alle für die Antworten.
Es funktioniert super.
Einen schönen Tag noch.
Clemens