我目前正在努力建立 SQL 查詢結果的資料表。 最終資料表的設定合併了共用列組並合併了共用值的行(請參閱表 1)。
資料有時具有數值,但大多數結果是“Negative”或“< 0.1”等字串。 我用字元/標稱值總結資料表的方法是根據測試類型轉置結果。 我可以對列進行分組,但是當我將資料表作為報告發送到新視窗或日記頁面時,它不會顯示分組的列。 我無法使用製表,因為它僅匯總值,並且在將其放入資料表時也不允許您保留格式。 我也無法為製表表中的單元格著色。 我只希望能夠像 tabulate 一樣向常規資料表添加子類別和巢狀列/行。 我想知道是否有任何方法可以使用 JSL 程式碼在 JMP 中實現我正在尋找的功能,如果沒有,這是否可以成為功能請求?
表格1。 決賽桌範例

我就是這麼想的,但我想我會問。 再次感謝您的幫忙!
我認為你不會輕易做到這一點。由於顯示樹的層次性質,您不能簡單地插入一個顯示框,使不是其子物件的物件成為其子物件。你可以插入一個列跨框,然後使用<<克隆盒你可以將孩子插入列跨框,但那時你最好從頭開始創建它

這看起來非常有希望! 謝謝你! 我會讓你知道它是否有效。
編輯:花了一個早上的時間檢查你的程式碼。 對於我了解如何建立更多自訂表格來說,這是一個很好的開始。 謝謝你! 我很感激您的時間和精力。 有沒有辦法在現有表格的列上方新增跨度框? 例如,假設我組織了表格,但沒有進行額外的分類。 我不想逐列拼湊表格。 我只是想把它彈出上面。 希望這是有道理的。
JMP 不允許您將行分組。製表不會對行進行分組,它只是將某些行留空(見下文)。
如果您查看製表的樹狀結構,您會注意到 JMP 使用特殊的結構,例如多表結構列框和多表編號列框建立表格的表格。這些不是用戶可以在 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>
