Attualmente sto lavorando alla creazione di una tabella di dati dei risultati da una query SQL. La tabella dei dati finale ha una configurazione che unisce i gruppi di colonne condivise e unisce anche le righe di valori condivisi (vedere la tabella 1).
I dati a volte hanno valori numerici, ma la maggior parte dei risultati sono stringhe come "Negativo" o "< 0,1". Il modo in cui riassumo la tabella dei dati con i caratteri/valori nominali è trasporre i risultati in base al tipo di test. Posso raggruppare le colonne, ma quando invio la tabella dati a una nuova finestra come report o a una pagina di diario, non vengono visualizzate le colonne raggruppate. Non posso usare Tabulate perché riassume solo i valori numerici e non ti permetterà nemmeno di mantenere la formattazione quando la trasformi in una tabella di dati. Inoltre, non riesco a colorare le celle all'interno di una tabella Tabulate. Voglio solo la possibilità di aggiungere sottocategorie e colonne/righe nidificate come fa tabulate a una normale tabella di dati. Mi chiedo se c'è un modo per ottenere ciò che sto cercando all'interno di JMP utilizzando il codice JSL e, in caso contrario, può essere una richiesta di funzionalità?
Tabella 1. Esempio di tavolo finale

JMP non consente di raggruppare le righe.Tabulate non raggruppa le righe, lascia semplicemente alcune righe vuote (vedi sotto).
Se osservi la struttura ad albero di Tabulate, noterai che JMP utilizza costrutti speciali come MultiTblStrColBox e MultiTblNumColBox per creare la tabella del tabulato.Questi non sono qualcosa che può essere creato in JSL dall'utente.La prossima cosa migliore è utilizzare il <<RICEVI come="" rapporto=""></RICEVI> con qualche gruppo di fantasia e gestione dei nomi con cui creare qualcosa di simile TableBox -- a cui abbiamo accesso in JSL.Ecco una funzione veloce" tabulato " che ho messo insieme che può prendere una tabella che ha i colori specificati sulle sue celle con qualsiasi raggruppamento di colonne che potresti desiderare e crea qualcosa come tabulare.È necessario specificare una tabella e una colonna categoriale speciale all'interno di:
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>

Sembra molto promettente!! Grazie! Ti farò sapere se funziona.
Modifica: ho passato la mattinata a esaminare il tuo codice. È un ottimo inizio per me per capire come creare più tabelle personalizzate. Grazie! Apprezzo il tempo e lo sforzo. C'è un modo per aggiungere una casella di intervallo sopra le colonne a una tabella già esistente? Ad esempio, diciamo che ho organizzato la tabella senza la categorizzazione aggiuntiva. Non voglio andare colonna per colonna per mettere insieme la tabella. Voglio solo aprirlo sopra. Spero che abbia senso.