Hallo nochmal, JMP-Community,
Vielen Dank, dass Sie sich die Zeit genommen haben, meine vorherige Frage zu beantworten. Der Code, den ich unten ausführe (JMP Pro 17.2), scheint nicht wie beabsichtigt zu funktionieren. Mein Ziel ist es, dass sich die Prozessüberprüfung von der Gruppierung nach „lot_id“ zur Gruppierung nach „wafer“ ändert, nachdem ich auf die Schaltfläche „Wiederherstellen“ geklickt habe.
Ich vermute, dass nach der Deklaration der PS-Variablen alle Anfangseinstellungen erhalten bleiben und es nicht möglich ist, sie dynamisch zu aktualisieren, da ich keinen „<<“-Befehl finden konnte, der die Gruppierungsvariable aktualisieren würde. Gibt es eine einfache Lösung für dieses Beispiel:
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();
Beste grüße,
NJS.
Dies könnte einige Ideen liefern, was Sie tun könnten
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);
)
);