Ciao di nuovo alla comunità JMP,
Grazie mille per aver dedicato del tempo e aver risposto alla mia domanda precedente. Il codice che eseguo di seguito (JMP pro 17.2) non sembra funzionare come previsto. Il mio obiettivo è che dopo aver premuto il pulsante Redo , Process Screening cambia da raggruppamento per "lot_id" a raggruppamento per "wafer".
Immagino che una volta dichiarata la variabile PS, mantenga tutte le impostazioni iniziali e non sia possibile aggiornarla dinamicamente, poiché non sono riuscito a trovare alcun comando "<< " che aggiornasse la variabile Grouping. Esiste una soluzione semplice per questo esempio:
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();
Distinti saluti,
NJS.
Questo potrebbe darti qualche idea su cosa potresti fare
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);
)
);