5개의 열이 있는 JMP 테이블이 있습니다.
ColA는 범주형 열입니다. ColA에는 다른 값 그룹이 있습니다. Col A의 3개 그룹만 있는 샘플 데이터
ColA ColB ColC Y X
x1 p1 9 PQR1
x1 p2 11 PQR2
b x2 p1 12 ABC1
b x2 p2 14 ABC1
b x2 p3 19 ABC2
c x1 p3 16 FGT1
c x1 p3 22 FGT3
다른 HTML 파일을 제공할 JSL 스크립트를 만들려고 합니다.
Col A의 각 그룹에 대해 단방향 플롯을 수행합니다(이 예에서는 3). 그러나 각 플롯이 Col B & Col C로 분할되기를 원합니다. (따라서 위의 데이터의 경우 ColA가 a일 때 Col B & Col C를 기반으로 하는 두 개의 플롯이 있고 ColA가 있을 때 3개의 플롯이 있습니다. Col A가 c일 때 b이고 1 플롯입니다.
결국 목표는 각 ColA 그룹 플롯에 대한 저널을 만들고 html 파일에 개별적으로 저장하는 것입니다.
다음 스크립트를 작성했지만 불행히도 원하는 것을 얻지 못했습니다. 3개의 플롯이 표시되지만 Col B 및 Col C에 대한 By 절에서 예상한 대로 플롯에 필요한 수의 플롯이 없습니다.
각각에 동일한 플롯이 있는 3개의 html 파일이 있습니다.( 잘 알지 못하는 평가/대체가 필요할 수 있습니다. )
dt = Current Data Table();
summarize(colgroup=by(:ColA));
outfile_path = "xxx\";
for (i=1, i<=N items(colgroup),i++,
idname = Char(colgroup[i]);
outfile = outfile_path || "_" || idname || ".html";
grph_obj = dt << Oneway(
Y( :Y ),
X( :X),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
By(:ColB, :ColC);
Where(:ColA == idname);
) << show window(0);
Wait(1);
jrn_grph = New Window("Report Group Col A", << Journal) ;
Wait(1);
grph_obj << Journal(Freeze All) << show window(0);
Wait(5);
jrn_grph << Set page setup(
margins( .5, .5, .5, .5 ),
scale( .99 ),
portrait( 0 ),
paper size( "Letter" )
);
jrn_grph << Save HTML(outfile);
Close All (Journals, "No Save");
)
나는 그것을 테스트하지 않았지만 코드가 세미콜론 대신 쉼표로 의도 한대로 작동한다고 생각합니다. By(:ColB, :ColC).