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 vorgesehen zu funktionieren. Mein Ziel ist, dass nach dem Drücken der Schaltfläche „Wiederholen“ die Prozessüberprüfung von der Gruppierung nach „lot_id“ zur Gruppierung nach „Wafer“ wechselt.
Ich vermute, dass die PS-Variable nach der Deklaration alle Anfangseinstellungen beibehält und nicht dynamisch aktualisiert werden kann, da ich keinen „<<“-Befehl finden konnte, der die Gruppierungsvariable aktualisiert. Gibt es für dieses Beispiel eine einfache Lösung:
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 Ihnen einige Ideen geben, 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);
)
);