안녕 모두들,
열 이름을 프로세스 기능 플랫폼으로 가져오고 2 정규 혼합 분포를 기본값으로 설정하려고 합니다.
먼저 열 이름을 얻습니다.
(예:
)
콜리스트={};
collist=dt3 << 열 이름 가져오기("숫자");
그런 다음 기능 플랫폼의 열을 반복합니다.
nw=new window("capability analysis",
for(i=1, i<=n items(collist),i++,
dt3<<PROCESS capability=""></PROCESS>
<P> </P>
<P>그러나 분포 부분 선택을 인식하지 못하므로 기본적으로 일반으로 설정되고 관심 있는 다른 분포를 확인하지 않습니다.</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shampton82_1-1666474952469.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="shampton82_1-1666474952469.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/46513i65243B0FD8860575/shampton82_1-1666474952469.png" role="button" title="shampton82_1-1666474952469.png" alt="shampton82_1-1666474952469.png" /></span></SPAN></P>
<P> </P>
<P>의견을 보내주셔서 감사합니다!</P>
<P> </P>
<P>스티브</P>
<P> </P>이를 처리하는 다른 방법이 있을 가능성이 높지만 여기에 한 가지 옵션이 있습니다. 예제 데이터가 없고 이것을 작동시키려면 약간의 디버깅이 필요하기 때문에 코드를 약간 다시 작성해야 했습니다. 이것은 열 형식(대부분 & Dist() 때문일 가능성이 높음)에 대해 매우 엄격한 것으로 보이므로 올바른 열 참조를 보기 위해 일부 Expr(NameExpr(AsColumn(Expr())))을 수행했습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_list = dt << Get Column Names(Continuous, String); // Note, these are as strings!
col_list = col_list[1::5];
nw = New Window("Capability Analysis",
vlb_collector = V List Box()
);
col_name = col_list[1];
create_capability_expr = Expr(
col_ref = Expr(NameExpr(AsColumn((Expr(col_name)))));
Eval(EvalExpr(
pc = dt << Process Capability(
Process Variables(Expr(col_ref) & Dist(Mixture of 2 Normals)),
Moving Range Method(Average of Moving Ranges),
Nonnormal Capability Method("Z-Score"n),
Johnson Distribution Fit Method(Maximum Likelihood),
Individual Detail Reports(1),
Capability Box Plots(0),
Goal Plot(0),
Capability Index Plot(0),
Process Performance Plot(0)
)
));
Eval(EvalExpr(
pc << {(Expr(col_ref) & Dist(Mixture of 2 Normals))<< Process Capability Analysis(Compare Distributions(1, <<FIT normal=""></FIT>

Eval Insert, Eval Expr, Parse 및 Substitute를 사용하여 한 표현식을 다른 표현식에 삽입 읽을 수 있는 게시물을 강력히 제안합니다. EvalExpr()) 부분을 실행하고 평가하기 전에 표현식이 무엇인지 볼 수 있기 때문에 디버깅에도 크게 도움이 됩니다.
편집하다:
열 및 해당 참조가 있는 항목이 있을 때 "항상" 열 이름을 문자열로 시작한 다음 Column(), As Column(), Name Expr(), Expr()... 그리고 그것들의 어떤 조합. 나는 이것이 가장 강력하고 디버그하기 쉽고 대부분의 시간 동안 작동하며 시작점은 항상 동일하다고 생각합니다(열 이름을 문자열로). 가장 깨끗해 보이지 않을 수도 있지만 JMP에서 열을 참조하려고 할 때 코드의 청결이 일반적으로 가장 큰 문제가 아니기 때문에 크게 신경 쓰지 않습니다.
그것은 훌륭하게 작동했고 코드와 링크된 게시물로 몇 가지 새로운 트릭을 배웠습니다!도와 주셔서 감사합니다!
스티브