Hola de nuevo comunidad JMP,
Muchas gracias por tomarte el tiempo y responder a mi pregunta anterior. El código que ejecuto a continuación (JMP pro 17.2) no parece funcionar como se esperaba. Mi objetivo es que, después de presionar el botón Rehacer , el análisis de procesos cambie de agrupar por "lot_id" a agrupar por "wafer".
Supongo que una vez que declaro la variable PS, conserva todas las configuraciones iniciales y no es posible actualizarla dinámicamente, ya que no pude encontrar ningún comando "<< " que actualice la variable de agrupación. ¿Existe una solución simple para este ejemplo?
Cols = {"NPN1", "PNP1", "PNP2", "NPN2"};
GR = "lot_id";
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
PLAT = Platform(
dt,
PS = Process Screening(
Y( Eval( Cols ) ),
Grouping( Eval( GR ) ),
Control Chart Type( "Indiv and MR" ),
Minimum Process Length( 1 ),
Use Medians instead of Means( 1 ),
Show tests( 0 ),
Test 1( 0 ),
Cp( 1 ),
Spec Limits( 1 ),
),
);
Redo= Expr(
GR = "wafer";
NW << Close Window;
PS << Redo Analysis;
Make_Win();
);
Make_Win = Expr(
NW = New Window( "ProcessScreening",
Vlist_box = V List Box(
PLAT,
BB = Button Box( "Redo", Redo ),
),
),
);
Make_Win();
Atentamente,
Nueva Jersey.
Esto podría darte algunas ideas sobre lo que podrías hacer.
Names Default To Here(1);
Cols = {"NPN1", "PNP1", "PNP2", "NPN2"};
GR = "lot_id";
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
ps = Expr(dt << Process Screening(
Y(Eval(Cols)),
Grouping(Eval(GR)),
Control Chart Type("Indiv and MR"),
Minimum Process Length(1),
Use Medians instead of Means(1),
Show tests(0),
Test 1(0),
Cp(1),
Spec Limits(1)
));
redo_ps = Expr(
If(GR == "lot_id",
GR = "wafer";
,
GR = "lot_id";
);
ps_collector << Delete Box();
vlb << Append(ps_collector = V List Box(ps));
);
nw = New Window("ProcessScreening",
V List Box(
vlb = V List Box(
ps_collector = V List Box(ps)
),
BB = Button Box("Redo", redo_ps);
)
);