결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법JMP의 내부 동작을 재현하려고 합니다. 배포 보고서에서 결합된 테이블을 수행하면 결과 테이블의 첫 번째 열에 기준 값이 나열됩니다. 내 중첩 테이블 구조를 생성할 때 결과 결합 데이터 테이블에 이 첫 번째 열이 표시되지 않습니다. 두 개의 동일한 결합 데이터 테이블을 생성하는 방식으로 창 구조를 어떻게 정의할 수 있습니까?
다음 예제 스크립트를 실행하여 차이점을 확인하세요.
/* Open a sample data table */
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* Generate the Distribution with a By variable */
dist = dt << Distribution( Continuous Distribution( Column( :height ) ), By( :sex ) );
/* Create the combined data table of Summary Statistics */
Report( dist[1] )["Summary Statistics"][Table Box( 1 )] << Make Combined Data Table;
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{60.8888888888889, 3.61189031311679, 0.851330711102296, 62.6850396850604, 59.0927380927173, 18, 1096, 13.0457516339869,
5.93193664562977, 0}
)
)
)
)
)
);
main << Append(
Outline Box( "Distributions sex=M",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{63.9090909090909, 4.3084533840777, 0.918565347870119, 65.8193521238087,
61.9988296943731, 22, 1406, 18.5627705627705, 6.7415344558826, 0}
)
)
)
)
)
);
TestWindow["Summary Statistics"][Table Box( 1 )] << Make Combined Data Table;Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법결합된 데이터 테이블을 생성하는 함수를 만들고 TableBox에 대한 상황에 맞는 메뉴 스크립트로 실행되도록 함수를 설정하면 이를 피할 수 있습니다. 자세한 내용은 아래를 참조하세요. 필요한 경우 JSL 메시지 상응 항목을 사용하여 약간의 작업을 통해 다른 컨텍스트 메뉴 항목 중 일부를 다시 추가할 수 있습니다.
customMakeCombinedDataTable = Function({},
// Get a list of all of all invisible columns
collapsedCols = TestWindow <<XPATH></XPATH>

Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법흠, 사람들이 보고서 창에서 마우스 오른쪽 버튼을 클릭하여 결합된 데이터 테이블을 만들면 이들 중 어느 것도 작동하지 않고 동일한 값이 반복되는 열을 추가해야 한다는 문제가 여전히 남아 있습니다. 나는 그것을 피하기를 바랐습니다.Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법JMP 플랫폼에서 생성된 TableBox는 내부적으로 By 그룹을 추적하지만 사용자 정의 JMP 창을 사용할 때 직접 설정할 수 있는 항목은 아닙니다.
제가 놓친 것이 있을 경우를 대비해 열어두세요!
Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법Justin, 귀하의 답변에 감사드립니다. 둘 다 트릭을 수행하는 것 같습니다. 아무도 더 간단한 솔루션을 제시하지 않으면 귀하가 확실히 저를 도왔습니다! 그러니 잠시 동안 질문을 열어두고 아무도 더 나은 답변을 찾지 못하면 귀하의 답변을 답변으로 표시하겠습니다.
JMP는 내부적으로 다른 작업(예: 구문 분석되는 테이블 속성 설정 등)을 수행하는 것으로 보이며 이 트릭이 스크립팅 인터페이스에 노출되어 여기에 적용될 수 있기를 바랍니다.
Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법안녕 @pauldeen ,
이 문제를 해결하기 위해 제가 찾은 두 가지 접근 방식이 있습니다.
첫 번째 접근 방식은 두 가지 중 더 간단하지만 기준 변수 값을 요약 통계 테이블의 열로 배치해야 합니다. 아래 예에서는 처음에는 접혀 있지만 일시적으로 접혀지지 않은 상태로 결합된 데이터 테이블을 만드는 추가 "Sex" 열을 참조하세요. 자세한 내용은 댓글을 참조하세요.
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box( "Sex", Repeat( {"F"}, 10 ), <<VISIBILITY></VISIBILITY>
이 방법을 사용한 결과 테이블은 다음과 같습니다.

두 번째 방법은 OutlineBox에서 By 값 정보를 가져와 테이블을 연결하는 것입니다. 이 방법은 기존 아웃라인박스/요약 통계 설정에 대한 설정을 변경할 필요가 없지만 조금 더 복잡합니다. 자세한 내용은 아래 댓글을 참조하세요.
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{60.8888888888889, 3.61189031311679, 0.851330711102296, 62.6850396850604, 59.0927380927173, 18, 1096, 13.0457516339869,
5.93193664562977, 0}
)
)
)
)
)
);
main << Append(
Outline Box( "Distributions sex=M",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{63.9090909090909, 4.3084533840777, 0.918565347870119, 65.8193521238087,
61.9988296943731, 22, 1406, 18.5627705627705, 6.7415344558826, 0}
)
)
)
)
)
);
// get all of the tableboxes within a 'Summary Statistics' OutlineBox
tableBoxes = TestWindow << Xpath("//OutlineBox[text()='Summary Statistics']/TableBox");
//Create and insert each data table
dts = {};
For( i = 1, i <= N Items( tableBoxes ), i++,
tempDt = tableBoxes[i] << make into data table( "invisible" );
//set the name of the table to the title of the top outlinebox
tempDt << Set Name( (((tableBoxes[i] << Parent) << parent) << parent) << get title );
Insert Into( dts, tempDt );
);
// Concatenate the tables together, with a source column
dts[1] << Concatenate( Remove( dts, 1 ), Create source column );
// close all of the temporary tables
For( i = 1, i <= N Items( dts ), i++,
Close( dts[i] )
);
결과 테이블은 다음과 같습니다.

Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법
귀하가 게시한 코드만으로 데이터 테이블을 받았습니다. 이것이 귀하가 기대한 것이 아닌가요?
Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법불행히도 그것은 내가 원하는 것이 아닙니다. 이미 결합된 창이 있습니다. 이제 고객에게 유용한 결합 데이터 테이블을 생성할 수 있는 기능을 제공하고 싶습니다.Re: 결합된 데이터 테이블이 값별로 표시되도록 보고서 창을 설정하는 방법https://community.jmp.com/t5/Discussions/JSL-Combined-graphs-from-multiple-data-table-and-combined-into-a/mp/17215#M15690