현재 SQL 쿼리 결과에 대한 데이터 테이블을 만드는 중입니다. 최종 데이터 테이블에는 공유 열 그룹을 병합하고 공유 값 행도 병합하는 설정이 있습니다(표 1 참조).
데이터에 숫자 값이 있는 경우도 있지만 대부분의 결과는 "Negative" 또는 "< 0.1"과 같은 문자열입니다. 문자/명목값으로 데이터 테이블을 요약하는 방법은 테스트 유형에 따라 결과를 바꾸는 것입니다. 열을 그룹화할 수 있지만 데이터 테이블을 보고서로 새 창이나 저널 페이지로 보낼 때 그룹화된 열이 표시되지 않습니다. Tabulate는 숫자 값만 요약하고 데이터 테이블로 만들 때 서식을 유지할 수 없기 때문에 사용할 수 없습니다. 또한 Tabulate 테이블 내의 셀에 색상을 지정할 수 없습니다. 나는 일반 데이터 테이블에 표 작성처럼 하위 범주와 중첩된 열/행을 추가하는 기능을 원합니다. JSL 코드를 사용하여 JMP 내에서 내가 찾고 있는 것을 달성할 수 있는 방법이 있는지 궁금합니다. 그렇지 않다면 기능 요청이 될 수 있습니까?
1 번 테이블. 최종 테이블의 예

그렇게 생각했지만 물어볼 줄 알았습니다. 도움을 주셔서 다시 한번 감사드립니다!
내 생각엔 당신이 그렇게 쉽게 할 수 없을 것 같아요.표시 트리의 계층적 특성으로 인해 하위 항목이 아닌 개체가 하위 항목이 되도록 표시 상자를 삽입할 수는 없습니다.다음을 삽입할 수 있습니다. ColSpanBox , 다음을 사용하여 <<클론박스 당신은 아이들을 ColSpanBox 하지만 그 시점에서는 처음부터 새로 만드는 것이 더 나을 것입니다.

매우 유망해 보입니다!! 감사합니다! 작동하는지 알려 드리겠습니다.
편집: 코드를 검토하면서 아침을 보냈습니다. 더 많은 사용자 정의 테이블을 작성하는 방법을 알아내는 것은 나에게 좋은 시작입니다. 감사합니다! 시간과 노력에 감사드립니다. 이미 존재하는 테이블의 열 위에 스팬 상자를 추가하는 방법이 있습니까? 예를 들어, 별도의 분류 없이 테이블을 정리했다고 가정해 보겠습니다. 나는 테이블을 한데 모으기 위해 열별로 이동하고 싶지 않습니다. 나는 단지 그것을 위에 팝업시키고 싶다. 그게 말이 되기를 바랍니다.
JMP에서는 행을 그룹화하는 것을 허용하지 않습니다.Tabulate는 행을 그룹화하지 않고 단순히 일부 행을 비워 둡니다(아래 참조).
Tabulate의 트리 구조를 보면 JMP가 다음과 같은 특수 구성을 사용한다는 것을 알 수 있습니다. MultiTblStrColBox 그리고 MultiTblNumColBox 표의 테이블을 생성합니다.이는 사용자가 JSL에서 만들 수 있는 것이 아닙니다.차선책은 <<보고서로 받기 멋진 그룹과 이름 처리를 통해 비슷한 것을 만들 수 있습니다. 테이블박스 -- JSL에서 액세스할 수 있습니다.다음은 빠른 기능입니다. 표로 만든 " 내가 함께 던진 것은 원하는 열 그룹이 있는 셀에 색상을 지정한 테이블을 가져와서 표와 같은 것을 만들 수 있다는 것입니다.다음 내에서 테이블과 특수 범주형 열을 지정해야 합니다.
Names Default To Here( 1 );
table = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
theGroup = table << Group Columns( "BP", :BP 8M :: :BP 8W );
theGroup = table << Group Columns( "ELSE", {:BP 12W, :BP 6W} );
For( i = 1, i <= N Cols( table ), i++,
For Each Row( table,
Column( table, i ) << Color Cells( Eval List( Repeat( {Random Uniform( 0.9, 1 )}, 3 ) ), Row() )
);
);
tabulatish = Function( {table, category},
{Default Local},
column names = table << Get Column Names( "String" );
For( i = 1, i <= N Items( column names ), i++,
If( Uppercase( category ) == Uppercase( column names[i] ),
category = column names[i];
Break();
)
);
Eval( Parse( Eval Insert( JSL Quote(
table << Sort( By( :Name("^category^") ), Order( "Ascending" ), "Replace Table" );
) ) ) );
categories = Associative Array( Column( table, category ) ) << Get Keys;
locs = Repeat( {""}, N Rows( table ) );
For( i = 1, i <= N Items( categories ), i++,
locs[(Loc( Column( table, category ) << Get Values, categories[i] ))[1]] = categories[i]
);
nt = New Table( "temp", <<NEW column=""></NEW>
