변동성 차트의 다양한 사양 한계안녕하세요,
저는 OVL_UDL과 PARAMETER_NAME에 따라 4개의 X 변수를 사용하여 별도의 가변성 차트를 만들고 있습니다. for 루프가 있는 스크립트로 이 작업을 수행합니다. 동일한 데이터 테이블에 포함된 차트 값에 대한 사양 값을 표시할 수 있기를 원합니다. 그러나 각 그래프(변수 Loop) 내에서 다른 제한이 있고 차트 간(OVL_UDL과 PARAMETER_NAME)에도 다른 제한이 있습니다. 포럼을 살펴봤지만 JSL을 사용하여 이 작업을 수행하는 방법을 찾을 수 없었습니다.
overunder = Associative Array( dt:OVL_UDL << Get Values ) << Get Keys;
For( i = 1, i <= N Items( overunder ), i++,
win = New Window( "window",
var = dt2 << Variability Chart(
Y( :VALUE ),
X( :ROUTE, :OPERATION, :PRODUCT, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
AIAG Labels( 0 ),
Where( :OVL_UDL == overunder[i] ),
By( :PARAMETER, :OVL_UDL ),
SendToReport(
Dispatch(
{"Variability Chart for VALUE"},
"Variability Chart",
FrameBox,
{Row Legend(
:Current Layer Scanner,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
), Row Legend(
ALT,
Color( 0 ),
Color Theme( "" ),
Marker( 1 ),
Marker Theme( "Solid" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
)
);
win << save picture;

자동화 및 스크립팅대량 맞춤형Re: 가변성 차트의 다른 사양 제한이것은 변동성 차트보다 그래프 빌더를 사용하여 훨씬 쉽게 수행할 수 있지만 아래 변동성 차트를 사용하려는 경우 그래픽 스크립트를 사용하여 지나치게 단순화된 예입니다.
Names Default To Here(1);
dt = Open("$DOWNLOADS/test.jmp");
dt << Delete Rows(Loc(dt[0, "OVL_UDL"], "BC1_BM3"));
var = Variability Chart(
Y(:VALUE),
X(:Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME)
);
spec_table = dt << Summary(
Group(:Loop),
// N Categories(:UP_CONTROL_LMT), // could be used for sanity check
Min(:UP_CONTROL_LMT),
Freq("None"),
Weight("None"),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("spectable")
);
specs = Associative Array(Column(spec_table, "Loop"), Column(spec_table, "UP_CONTROL_LMT"));
groups = dt << Summary(
Group(Loop, :OPERATION, :ANALYTICAL_ENTITY, :DATA_COLLECTION_TIME),
statistics column name format("column"),
Link to original data table(0),
invisible,
output table("groups")
);
fl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
sl_groups = N Rows(Loc(groups[0, "Loop"], "FL"));
framebox = Report(var)[frame box(1)];
framebox << Add Graphics Script(
Pen Color("Blue");
Pen Size(1);
H Line(0, fl_groups, specs["FL"]);
H Line(fl_groups, fl_groups + sl_groups, specs["SL"]);
);
framebox << Y Axis(Max(15));

Re: 가변성 차트의 다른 사양 제한정말 고마워. 한 가지를 제외하고는 완벽하게 작동한다고 생각합니다. OVL_UDL 값을 하나만 유지하고 변동성 차트를 하나만 생성한 것을 알 수 있습니다. 각 OVL_UDL 변수에 대해 별도의 차트를 만들고 싶습니다. 데이터에서 BC1_BM3(가지고 있음)에 대해 켜져 있어야 하지만 BC2_BM3에 대한 차트가 하나 더 있어야 합니다. 각 OVL_UDL에 대한 스크립트를 반복하기 위해 for 루프를 넣으려고 시도했지만 표시할 제한을 얻을 수 없습니다. 우리가 그것을 달성할 수 있는 방법을 알고 계십니까?
감사
Re: 가변성 차트의 다른 사양 제한루핑은 잘 작동해야 하지만 각 차트에 대해 올바른 제한과 그룹 크기를 사용해야 합니다. 다음은 빠르고 더러운 예입니다(이 코드를 확실히 정리할 것이지만 일종의 시작점으로 작동해야 함).
더보기...
(변동성 차트는 By 옵션을 사용하여 생성할 수도 있지만 매개변수가 아닌 가변성 차트를 반복할 가능성이 높기 때문에 약간 다른 종류의 반복이 필요합니다.)
Re: 가변성 차트의 사양 제한이 다릅니다.감사. 어떻게든 OVL_UDL을 반복할 때 마지막 그래프에서만 올바른 제한을 유지합니다. 테이블을 여러 테이블(eqach OVL_UDL에 대해 하나)로 분할하는 스크립트를 작성하고 각 테이블을 통해 스크립트를 실행할 수 있는지 생각하고 있습니다. 한 번에 하나의 파일을 열고 플로팅 스크립트를 실행하고 다음 파일을 열고 동일한 스크립트를 다시 실행하는 스크립트를 작성하려면 어떻게 해야 합니까?