안녕,
특정 모수에 가장 적합한 것을 식별하고 해당 모형 적합에 대해서만 공정 능력 분석 테이블을 생성한 다음 새 창에서 가장 적합한 것에 대해서만 표시 상자를 재구성하는 방법이 있습니까(아래 그림)? 또한, 기능을 유지할 수 있나요?
내가 시도한 것은 다음과 같습니다. 확장하여 작동합니다....
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
dis = Distribution(
Continuous Distribution(
Column( :NPN1 ),
Quantiles( 0 ),
Vertical( 0 ),
Outlier Box Plot( 1 ),
Fit Normal( Show Fit( 0 ), Process Capability( LSL( 104.41 ), Target( . ), USL( 131.89 ), Show as Graph Reference Lines ) ),
Fit Johnson( Show Fit( 0 ) ),
Fit Cauchy( Show Fit( 0 ) ),
Fit Student's t( Show Fit( 0 ) ),
Fit SHASH( Show Fit( 0 ) ),
Fit Normal 2 Mixture( Show Fit( 0 ) ),
Fit Normal 3 Mixture(
Process Capability( LSL( 104.41 ), Target( . ), USL( 131.89 ), Show as Graph Reference Lines, Show Within Capability( 0 ) )
),
Customize Summary Statistics( Std Err Mean( 0 ), Upper Mean Confidence Interval( 0 ), Lower Mean Confidence Interval( 0 ), N Missing( 0 ) )
)
);
New Window( "",
Show Menu( 0 ),
show toolbars( 0 ),
H List Box(
Panel Box( ,
Report( dis )["NPN1", List Box( 3 )]
),
V List Box(
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Summary Statistics"],
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Fitted Normal 3 Mixture Distribution", "Process Capability", "NPN1(Mixture of 3 Normals) Capability",
"Overall Sigma Capability"],
Spacer Box( size( 0, 10 ) ),
Report( dis )["NPN1", "Fitted Normal 3 Mixture Distribution", "Process Capability", "NPN1(Mixture of 3 Normals) Capability",
"Nonconformance"]
)
),
Panel Box( ,
Table Box(
Report( dis )["NPN1", "Compare Distributions"]
)
)
);
dis << close window;
<< Fit All 메시지를 분포에 보내고 테이블 상자에서 첫 번째 행을 가져옴으로써 "최적 적합"을 얻을 수 있습니다. 그러나 이는 탐색적 분석에만 사용해야 합니다(여기서는 좋은 논의가 있습니다. 스크립팅 - 최적 적합 분포를 선택하고 능력 매개변수를 수집하는 방법은 무엇입니까?). ). 그런 다음 키가 열 이름 및 값 분포인 연관 배열로 수집하거나 이를 분포 열 속성으로 설정할 수 있습니다. 마지막으로 사용하려는 플랫폼을 사용하여 최종 플롯을 만듭니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
get_best_dist = function({dt, colname}, {Default Local},
dist = dt << Distribution(
Continuous Distribution(
Column(Eval(colname)),
Process Capability(0)
),
Invisible,
Histograms Only
);
dist << Fit All;
scb = Report(dist)[Outline Box("Compare Distributions"), Table Box(1), StringColBox(1)];
bestdist = scb[1];
dist << close window;
return(bestdist);
);
aa_dist = Associative Array();
colrefs = dt << Get Column Group("Processes");
For Each({colref}, colrefs,
Try(
colname = colref << get name;
curdist = get_best_dist(dt, colname);
aa_dist[colname] = curdist;
Eval(EvalExpr(Column(dt, colname) << Set Property("Distribution", Expr(curdist))));
,
show(colref);
);
);