Hola.
Estoy utilizando el análisis de capacidad de proceso para generar gráficos para mis informes.
Una de las tablas resumen es la de "No conformidad", que también puede utilizarse para representar la tasa de fallos.
Me interesa generar una tabla que muestre directamente los datos de rendimiento, en lugar de tener que interpretarlos a partir de la tabla de no rendimiento. ¿Existe alguna forma de lograrlo directamente con las opciones predeterminadas de JMP?
Crea una columna de fórmula que calcule los rendimientos para los parámetros de interés.
Si (parámetro en la especificación) entonces rendimiento = 1 sino rendimiento = 0
A continuación, cree una tabla resumen que calcule la media de las columnas de rendimiento.
Gracias. Quería evitar tener que crear manualmente una columna de rendimiento, pero parece que es la única manera. No es exactamente lo que buscaba, pero es sencillo y directo.
Hacerlo en una tabla de datos es la opción más sencilla, pero si estás dispuesto a usar algo de JSL, podrías manipular el cuadro de la tabla de no conformidad para incluir también el porcentaje de rendimiento (aunque podría resultar un poco extraño tener el porcentaje de rendimiento en la no conformidad) o añadir un outlinebox y un tablebox separados para la conformidad (la colocación puede ser molesta).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
obj = dt << Process Capability(
Process Variables(:PNP1),
Individual Detail Reports(1),
{:PNP1 << Process Capability Analysis(Nonconformance(1))}
);
tb = Report(obj)["Nonconformance", TableBox(1)];
obsperc = tb[Number Col Box("Observed %")] << get as matrix;
yieldperc = J(3, 1, 100) - obsperc;
(Report(obj)["Nonconformance", TableBox(1)]) << Append(
Number Col Box("Yield %", yieldperc, << Set Format("Fixed Dec", 9, 4))
);

En realidad, esta pregunta surge con frecuencia, por lo que esto será útil para muchos.
El script le pedirá que seleccione las columnas que tienen una propiedad de especificación. Por lo tanto, debe asegurarse de que la propiedad de especificación esté configurada antes de ejecutarlo. También crea un gráfico que resume las tasas dentro de la especificación para cada columna, desglosadas por variables de agrupación.
Names Default To Here( 1 );
dt = Current Data Table();
dlg = Column Dialog(
spec_cols = ColList( "Spec Columns", MinCol( 1 ), MaxCol( 1000 ) ),
group_cols = ColList( "Group Columns", MinCol( 1 ), MaxCol( 20 ) )
);
If( dlg["Button"] != 1,
Beep();
Throw();
);
col_list = dlg["spec_cols"];
group_list = dlg["group_cols"];
for (i=1, i <= nitems(col_list), i++,
col_name = col_list[i] << Get Name;
specproperty = col_list[i] << Get Property( "Spec limits" );
if( (contains(char(specproperty), "LSL") > 0) & (contains(char(specproperty), "USL") > 0),
Eval(Eval Expr(
dt << New Column( col_name || " In Spec", Numeric, "Continuous", Format( "Best", 12 ),
Formula(if((Expr(col_list[i]) > Expr(specproperty["LSL"])) & (Expr(col_list[i]) < Expr(specproperty["USL"])), 1, 0 )))
));
);
if( (contains(char(specproperty), "LSL") == 0) & (contains(char(specproperty), "USL") > 0),
Eval(Eval Expr(
dt << New Column( col_name || " In Spec", Numeric, "Continuous", Format( "Best", 12 ),
Formula(if(Expr(col_list[i]) < Expr(specproperty["USL"]), 1, 0 )))
));
);
if( (contains(char(specproperty), "LSL") > 0) & (contains(char(specproperty), "USL") == 0),
Eval(Eval Expr(
dt << New Column( col_name || " In Spec", Numeric, "Continuous", Format( "Best", 12 ),
Formula(if(Expr(col_list[i]) > Expr(specproperty["LSL"]), 1, 0 )))
));
);
);
cols = dt << Get Column Names();
inspec_cols = {};
for (i=1, i <= nitems(cols), i++,
if (Contains(cols[i], "In Spec"),
Insert Into(inspec_cols, cols[i])
);
);
dt << Group Columns("In Spec Cols", inspec_cols);
dt_inspec_stack = dt << Stack(
columns( Column Group( "In Spec Cols" ) ),
Source Label Column( "Spec Columns" ),
Stacked Data Column( "In Spec" ),
Drop All Other Columns( 1 ),
"Non-stacked columns"n( Keep( group_list ) ),
Output Table("Stack of In Spec Columns")
);
summary_group = {};
for (i=1, i <= nitems(group_list), i++,
col_name = group_list[i] << Get Name;
Insert Into(summary_group, col_name);
);
Insert Into(summary_group,"Spec Columns");
dt_inspec_summary = dt_inspec_stack << Summary(
Group( summary_group ),
Mean( :In Spec ),
Freq( "None" ),
Weight( "None" ),
output table name(
"Summary of In Spec Columns"
)
);
dt_inspec_summary << New Column("CI", Numeric, "Continuous", Format("Best",12),
Formula(Root( (:"Mean(In Spec)"n * (1 - :"Mean(In Spec)"n)) / :N Rows ) * 1.96)
);
dt_inspec_summary << Graph Builder(
Size( 1280, 720 ),
Show Control Panel( 0 ),
Variables(
X( :Spec Columns ),
Y( :"Mean(In Spec)"n ),
Group X( :Reactor ),
Interval( :CI )
),
Elements(
Points( X, Y, Legend( 5 ), Error Interval( "Custom Interval" ) ),
Line( X, Y, Legend( 6 ) )
),
SendToReport(
Dispatch( {}, "Mean(In Spec)", ScaleBox,
{Format( "Percent", 12, 0 ), Min( 0 ), Inc( 0.2 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch( {}, "Graph Builder", FrameBox, {Reference Line Order( 3 )} ),
Dispatch( {}, "Graph Builder", FrameBox( 2 ), {Reference Line Order( 3 )} ),
Dispatch( {}, "Graph Builder", FrameBox( 3 ), {Reference Line Order( 3 )} )
)
);
Hola,
Todas estas son buenas respuestas, pero también quería informarles que, a partir de JMP 19, existe una nueva opción en la plataforma de Capacidad de Proceso y en el análisis de capacidad de proceso dentro de la plataforma de Distribución que permite guardar automáticamente columnas en la tabla de datos con fórmulas de indicadores de conformidad. Consulte la documentación de JMP aquí: Guardar fórmulas de indicadores de conformidad.
Puede encontrar la opción en la plataforma de Capacidad de Proceso, en el menú del triángulo rojo, en las opciones del submenú Guardar.

En el informe de análisis de capacidad del proceso dentro de la plataforma de Distribución, puede encontrar esta opción en el menú del triángulo rojo de Capacidad del proceso.

Una vez que tengas las fórmulas del indicador In Spec, son fáciles de analizar y manipular. Espero que te resulte útil.
Laura
Gracias por señalarlo, @Laura_Lancaster . Sería muy útil que esta opción también estuviera disponible en el Control de Procesos y que hubiera una columna que indicara el porcentaje general de cumplimiento de especificaciones, teniendo en cuenta todas las columnas de indicadores de cumplimiento.