JMP 커뮤니티 여러분, 다시 한 번 안녕하세요.
시간을 내어 이전 질문에 답변해 주셔서 감사합니다. 아래에서 실행하는 코드(JMP pro 17.2)가 의도한 대로 작동하지 않는 것 같습니다. 내 목표는 Redo 버튼을 누른 후 프로세스 스크리닝이 "lot_id"별 그룹화에서 "wafer"별 그룹화로 변경되는 것입니다.
PS 변수를 선언하면 모든 초기 설정이 유지되고 그룹화 변수를 업데이트하는 "<<" 명령을 찾을 수 없기 때문에 동적으로 업데이트할 수 없는 것 같습니다. 이 예에 대한 간단한 해결책이 있습니까?
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();
친애하는,
뉴저지.
이것은 당신이 무엇을 할 수 있는지에 대한 아이디어를 줄 수 있습니다
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);
)
);