Hello again JMP community,
Thanks a lot for taking your time and answer my previous question. The code that I run below (JMP pro 17.2) doesn't seem to work as intended. My goal is after I press the Redo button, the Process Screening changes from grouping by "lot_id" to grouping by "wafer".
I guess that once I declare the PS variable it keeps all the initial settings and it is not possible to dynammically update it as I could not find any "<< " command that would update the Grouping variable. Is there a simple solution for this example:
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();
Best regards,
NJS.
This might give some ideas what you could do
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);
)
);
This might give some ideas what you could do
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);
)
);