Límites del gráfico de control como porcentaje de la media realEstimada comunidad,
Estoy trabajando en la industria farmacéutica y me gustaría construir un cuadro de control de acuerdo con la directriz de la farmacopea EP 2.9.5.
La prueba es la siguiente:
- peso 20 tabletas
- no más de 2 debe desviarse más del 7,5 % de la media observada
- Ninguno debe desviarse más del 15% de la media observada
¿Hay alguna manera de establecer el límite en el gráfico de control al 7,5 % de la media y al 15 % de la media en lugar de basarse en sigma?
Sé que, como sustituto, puedo normalizar los datos al 100 % y agregar una línea de referencia fija en el generador de gráficos, pero prefiero mantener los datos originales sin normalizar para visualizar también la desviación del 100 % (objetivo).

Gracias por su apoyo,
Clemente
Exploración y visualización de datosIngeniería de Calidad y ProcesosRe: Límites del gráfico de control como porcentaje de la media realTambién puede crear este tipo de líneas "agrupadas" en Graph Builder usando, por ejemplo, Col Mean y Col Std Dev para calcular esas estadísticas sobre grupos.
Re: Límites del gráfico de control como porcentaje de la media realPara establecer límites de especificación en ±15 % de la media, utilice el siguiente script como ejemplo. Esto le permitirá comprobar y reportar fácilmente cualquier punto que supere el 15 %.
// 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
)
);
Comprobar simultáneamente puntos superiores al 7,5 % y al 15 % es un poco más complicado. Una opción sería establecer el 7,5 % como el "sigma histórico" conocido del proceso. Después, se podrían usar las funciones de advertencia integradas en el Generador de gráficos de control para comprobar puntos superiores a 1 y 2 sigma, respectivamente.
Establezca el 7,5 % de la media como sigma "histórico" mediante la opción Triángulo Rojo -> Establecer sigma. A continuación, puede hacer clic derecho en el gráfico y usar Advertencias -> Personalizar pruebas y modificar la Prueba 1 para detectar puntos superiores a 1 sigma (o bien, siga estos pasos como se muestra a continuación).
Luego, configure KSigma en 2 y ahora Test Beyond Limits también verificará los puntos más allá del 15%.
Normalmente no es así como se utilizan los gráficos de control, pero sería útil.
Para ello, añada lo siguiente al script anterior:
// 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,
)
);
Re: Límites del gráfico de control como porcentaje de la media realPara aclarar, lo que intenta hacer no es un diagrama de control . Los límites de un diagrama de control no tienen nada que ver con las especificaciones, que se derivan independientemente de la variación real del proceso. Reaccionar a la especificación como si fuera asignable o una causa especial probablemente aumentará la variabilidad a largo plazo (véase Deming y Shewhart).
Esto no significa que no pueda trazar datos en función de las especificaciones, pero este no es un gráfico de control y deberá tener cuidado en su reacción a estos límites.
Re: Límites del gráfico de control como porcentaje de la media realIntenté hacerlo en el generador de gráficos y llegué hasta allí (no lo logré en la plataforma de gráficos de control).
He creado 5 nuevas columnas:
- Media por categoría
- T2 neg = :media por categoría*0,85
- T2 pos = :media por categoría*1,15
- T1 neg = :media por categoría*0,925
- T1 pos = :media por categoría*1.075
Luego utilicé el siguiente script
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 ))
)
);
*Nota: JSL trasladado a JSL Box por txnelson
Con solo dos líneas activadas, funciona bien:

pero cuando activo las cuatro líneas (quitando el // en el script), obtengo un gráfico extraño:

¿Alguna idea?
Re: Límites del gráfico de control como porcentaje de la media realTal vez el eje Y se esté agrupando como podría hacer JMP cuando tiene varias columnas en el eje Y.

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)})
)
);Re: Límites del gráfico de control como porcentaje de la media realPerfecto, gracias a todos por las respuestas.
Funciona muy bien.
Que tenga un lindo día.
Clemente