제어 차트를 생성하기 위해 Limits Table을 사용하여 A에 의해 Y 대 X에 대한 다중 플롯을 생성하기 위한 JSL 스크립트5개의 열이 있는 JMP 테이블이 있습니다.
ColA는 범주형 열입니다. ColA는 다른 값 그룹을 가질 수 있습니다. 그러나 ColA LCL & UCL의 각 값 그룹에 대해 다음과 같이 의미합니다.
Col A의 2개 그룹만 있는 샘플 데이터
열 A LCL UCL Y X
5 10 9 PQR1
5 10 11 PQR2
ㄴ 17 25 12 ABC1
ㄴ 17 25 14 ABC1
ㄴ 17 25 19 ABC1
그래서 저는 Col A 에 의해 Y 대 X(이 경우 박스 플롯이라고 함)를 플롯하고 싶습니다. 따라서 이것은 두 개의 플롯을 생성해야 합니다(하나는 a에 대한 것이고 다른 하나는 b에 대한 것입니다). 그러나 각 플롯에 대해 두 개의 서로 다른 컨트롤 차트를 만드는 JSL 스크립트를 만들고 싶습니다. 케이스 a의 경우( 5,10) 및 케이스 b의 경우( 17, 25).
JMP에서는 이것이 간단하다는 것을 알고 있습니다. 하지만 내 경우에는 즉석에서 데이터를 생성하고 있으며 얼마나 많은 그룹과 LCL/UCL이 무엇인지 알 수 없습니다. 따라서 이를 달성하기 위한 스크립트가 필요합니다. JSL을 사용하여 이 문제를 해결하는 방법을 이해하려고 합니다.
Re: 제어 채널을 생성하기 위해 한계 테이블을 사용하여 A에 의해 Y 대 X에 대한 다중 플롯을 생성하기 위한 JSL 스크립트아주 멋진!! 매력처럼 일했습니다 !!! 감사해요Re: 제어 채널을 생성하기 위해 한계 테이블을 사용하여 A에 의해 Y 대 X에 대한 다중 플롯을 생성하기 위한 JSL 스크립트참조 라인 추가 구문이 올바르지 않습니다."Send to Report" 구조로 Oneway 플랫폼 정의에 포함되거나 아래에 표시된 것처럼 Add Ref Line 메시지를 Reports AxisBox에 보내는 사실 이후에 추가되어야 합니다.
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( groupid = by( :Col A ) );
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
For( i = 1, i <= N Items( groupid ), i++,
idname = Char( groupid[i] );
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname )
);
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_u[idname], "Dashed", "Black", "UCL", 1 );
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_l[idname], "Dashed", "Black", "LCL", 1 );
);
Re: 제어 채널을 생성하기 위해 한계 테이블을 사용하여 A에 의해 Y 대 X에 대한 다중 플롯을 생성하기 위한 JSL 스크립트고마워, 짐...
글쎄, 나는 항상 그룹화 된 열 (이 경우 Col A가 말함)을 기반으로 내 Y 대 X를 플로팅 할 것입니다 ...
아직 어떤 플랫폼도 사용할 계획이 없었습니다.
내가 문제를 대상으로 삼은 방법은 그룹을 기반으로 연관 배열을 만든 다음 루프를 만드는 것입니다. 그러나 그것도 작동하지 않습니다. 아래 코드의 스니펫을 붙여넣었습니다.
dt = Current Data Table();
summarize(groupid=by(:Col A));
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
for(i=1, i<= N Items(groupid), i++,
idname = char(groupid[i]);
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname ),
Add Ref Line(map_u[idname] , "Dashed", "Black", "UCL", 1 ),
Add Ref Line(map_l[idname] , "Dashed", "Black", "LCL", 1 )
)
)
Re: 제어 채널을 생성하기 위해 한계 테이블을 사용하여 A에 의해 Y 대 X에 대한 다중 플롯을 생성하기 위한 JSL 스크립트다양한 차트에 대해 서로 다른 제어 한계가 있으며 차트에 영향을 미치려면 각각 열 내에서 설정해야 합니다. 항상 특정 유형의 차트를 사용합니까, 아니면 테이블에서 각 제한 유형(XBar, 개별...)으로 제한을 설정해야 합니까? Control Chat Builder 플랫폼 또는 Control Chart 플랫폼을 사용하시겠습니까?