보고서 출력의 제어 형식 및 검토제 컴퓨터에는 JMP 14.3과 JMP 16.0을 포함하여 여러 버전의 JMPPro가 설치되어 있습니다. 어떤 버전에도 보고서 창에 사용자 지정 서식을 설정할 수 있는 옵션이 없습니다. 예를 들어, "기준" 열이 있는 이변량(Y x X) 플랫폼을 사용하고 "기준" 열에 80개의 고유 값이 있다고 가정해 보겠습니다. 모든 플롯을 단일 열이나 단일 행에 포함하면 플롯 검토 속도가 느려집니다. 드래그 앤 드롭 방식으로 작업하는 것은 번거로울 것입니다. 제가 원하는 기능은 다음과 같습니다.
- 보고서 출력에서 행 수와 행당 플롯 수 지정
- "기준" 열이 두 개인 경우, 첫 번째 "기준" 열부터 모든 플롯을 보고서 출력의 특정 행에 배치할 수 있습니다. 예를 들어, "기준" 열이 두 개 있어 다섯 가지 고유한 조합이 있다고 가정해 보겠습니다. A열에는 {차, 커피} 값이 있고 B열에는 {우유, 꿀, 설탕} 값이 있습니다. 데이터 표에는 커피와 꿀의 조합이 전혀 나타나지 않습니다. 보고서 출력의 첫 번째 행에는 "차"에 대한 플롯 3개가 포함되며, 우유, 꿀, 설탕에 대해 각각 하나씩 표시됩니다. 보고서 출력의 두 번째 행에는 "커피"에 대한 플롯 2개가 포함되며, 우유와 설탕에 대해 각각 하나씩 표시됩니다.
제 질문은 다음과 같습니다.
- JMP에서 이 작업을 기본적으로 수행할 수 있는 방법이 있나요?
- 그렇지 않다면 이런 방식으로 보고서 창을 포맷할 수 있는 스크립트/추가 기능이 있나요?
제가 직접 스크립트를 작성할 수도 있을 것 같지만, 시간이 많이 걸릴 것 같고, 사용하기 쉬운 버튼이 있으면 좋겠습니다.=)
대량 맞춤화Re : 보고서 출력의 제어 형식 및 검토내 마음에 고유 한 방법이 떠오르지 않습니다 (하지만 여전히 일부가있을 수 있음). 시작할 수있는 몇 가지 스크립트 아이디어는 다음과 같습니다.
각 행에있는 보고서 수를 제어하려면 N Col이있는 Lineup Box를 사용할 수 있어야합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
maxValsPerRow = 4;
nw = New window("", Lineup Box(N Col(maxValsPerRow),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal))
));
두 개의 "by"열과 By가 변경 될 때 새 행으로 나누는 경우 (Eval (EvalExpr ()), 사용법 참고) :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
uniqVals = Associative Array(Column(dt, "Meal")) << get keys;
maxValsPerRow = 15;
nw = New window("", vlb = V List box());
For(i = 1, i <= N Items(uniqVals), i++,
vlb << Append(Eval(EvalExpr(
Lineup Box(N Col(Expr(maxValsPerRow)),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal), Where(:Meal == Expr(uniqVals[i])))
)
))
));
Re: 보고서 출력의 제어 형식 및 검토Fit Group() 함수를 사용하면 레이아웃을 3개 보고서로 쉽게 변경할 수 있습니다.

간단한 JSL은 다음과 같습니다.
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// For illustration, limit ages to only 3 levels
// Select matching cells
Data Table( "big class" ) << Select Where( :age == 12 | :age == 13 | :age == 14 );
// Subset data table
// → Data Table( "Subset of big class" )
Data Table( "big class" ) << Select Where( :age == 12 | :age == 13 | :age == 14 )
<< Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Close Data Table: big class
Close( "big class" );
fg = fit group(
Bivariate( Y( :height ), X( :weight ), By( :sex, :age ) ));
fg<<ARRANGE in="" rows=""></ARRANGE>
<P>또한 플롯을 살펴볼 수 있는 가능한 방법으로 응답 스크리닝을 살펴보는 것이 좋습니다.</P>
<P>분석=>스크리닝=>응답 스크리닝</P>