프로세스 기능이 스크립트에서 작동하지 않는 분포 그래프안녕,
생성된 이 스크립트를 여러 열에 사용하고 싶습니다.
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :"VDD_ILIMIT"n ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Process Capability( LSL( . ), Target( . ), USL( 0.5 ), Show as Graph Reference Lines )
),
SendToReport( Dispatch( {"VDD_ILIMIT"}, "1", ScaleBox, {Add Ref Line( 0.5, "Solid", "Blue", "USL", 1 )} ) )
);이 스크립트를 사용하면 모든 것이 잘 작동하며 동일한 창에서 공정 능력 플롯이 포함된 분포 그래프를 얻을 수 있습니다.
여러 열에 대해 실행하려고 하면 처리 능력 도표와 데이터 없이 각 열에 대한 분포 그래프만 나타납니다.
// Open the data table
dt = Current Data Table();
colnames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colnames ), i++,
If( Contains( Column( colnames[i] ) << Get Name, "ILIMIT" ),
// Create a distribution graph for the column
meanValue = Col Mean( colnames[i] );
stdDevValue = Col Std Dev( colnames[i] );
ppkValue = 2;
uslValue = meanValue + ppkValue * 3 * stdDevValue;
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( colnames[i] ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Process Capability( LSL( . ), Target( . ), USL( uslValue ), Show as Graph Reference Lines )
),
SendToReport( Dispatch( {colnames[i]}, "1", ScaleBox, {Add Ref Line( uslValue, "Solid", "Blue", "USL", 1 )} ) )
);
)
);내가 뭘 잘못하고 있고, 왜 이런 식으로 행동하는 걸까요?
자동화 및 스크립팅Re: 프로세스 기능이 있는 분포 그래프가 스크립트에서 작동하지 않습니다.다음은 귀하에게 적합한 코드 수정 사항입니다.
// Open the data table
dt = Current Data Table();
colnames = dt << get column names( numeric, string );
i = 2;
For( i = 1, i <= N Items( colnames ), i++,
//If( Contains( Column( colnames[i] ) << Get Name, "eight" ),
If( Contains( colnames[i], "ILIMIT" ),
// Create a distribution graph for the column
//meanValue = Col Mean( colnames[i] );
meanValue = Col Mean( Column( dt, colnames[i] ) );
//stdDevValue = Col Std Dev( colnames[i] );
stdDevValue = Col Std Dev( Column( dt, colnames[i] ) );
ppkValue = 2; // ???
uslValue = .5; // this value is used below, but was not assigned
Eval(
Eval Expr( // JMP does not evaluate items in a list as parsing
// therefore it has to be preprocessed
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( colnames[i] ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Process Capability( LSL( . ), Target( . ), USL( Expr( uslValue ) ), Show as Graph Reference Lines )
),
SendToReport(
Dispatch( {Expr( colnames[i] )}, "1", ScaleBox, {Add Ref Line( Expr( uslValue ), "Solid", "Blue", "USL", 1 )} )
)
)
)
);
)
);Re: 프로세스 기능이 있는 분포 그래프가 스크립트에서 작동하지 않습니다.JMP는 기준선을 올바르게 추가할 수 없습니다(그리고 상한 값도 없는 것 같나요?). 다음은 몇 가지 아이디어를 줄 수 있는 예입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Open the data table
colnames = dt << get column names(numeric, continuous, string);
dists = {};
For Each({colname}, colnames,
meanValue = Col Mean(Column(dt, colname));
stdDevValue = Col Std Dev(Column(dt, colname));
ppkValue = 2;
uslValue = 3*stddevValue + meanValue;
dist = Eval(EvalExpr(dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(colname)),
Horizontal Layout(1),
Vertical(0),
Outlier Box Plot(0),
Process Capability(
LSL(.),
Target(.),
USL(Expr(uslValue)),
Show as Graph Reference Lines
)
),
SendToReport(
Dispatch(
{colnames[i]},
"1",
ScaleBox,
{Add Ref Line(Expr(uslValue), "Solid", "Blue", "USL", 1)}
)
)
)));
Insert Into(dists, dist);
);