JSL Crea una nuova tabella di riepilogo con i valori massimi delle colonne variabiliCiao,
Mi è piaciuto leggere e trovare soluzioni su queste pagine di discussione per un po' di tempo, ma ora ho faticato a capirlo.
Ho una tabella dati che fornisce un numero variabile di colonne, generata automaticamente dalla macchina, in cui le prime 14 colonne sono sempre le stesse informazioni identificative. Le altre colonne, dalla 15 in poi, sono dati numerici continui in cui i nomi delle colonne variano sempre.
Il problema è che sto cercando di automatizzare la creazione di una tabella di riepilogo che raggrupperà i dati in base alle informazioni di identificazione e avrà anche una colonna dei dati massimi per ogni colonna di dati.
Con un numero variabile di colonne di dati e nomi di colonne variabili, è possibile scorrere ciascuna colonna? Ad esempio un ciclo for per ottenere tutti i valori massimi nella tabella di riepilogo? Sono limitato dall'impossibilità di nominare tutte le colonne b/c dei vari nomi di colonna per ogni pull, ma è sicuro dire che ogni colonna dopo la 14a colonna avrà bisogno dei valori massimi trovati.
Questo è lo script JSL che ho cercato di modificare, ma ho trovato un vicolo cieco nella generazione delle colonne Max.
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
Grazie per qualsiasi contributo al mio problema!
ScriptingRe: JSL Crea una nuova tabella di riepilogo con i valori massimi delle colonne variabiliEcco un esempio di come fare ciò che vuoi con la tabella di dati di esempio Big Class.
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);

Re: JSL Crea una nuova tabella di riepilogo con i valori massimi delle colonne variabiliGrazie @txnelson ,
che ha parzialmente risolto il mio problema.
La mia tabella di dati originale ha colonne di data che non voglio che i valori massimi vengano analizzati, fondamentalmente incontrando problemi che non voglio calcolare i valori massimi delle prime 14 colonne indipendentemente dal loro tipo di dati.
C'è un modo per ignorare le prime 14 colonne o sarebbe più semplice creare una nuova tabella che elimini le colonne indesiderate prima di passarla per una tabella di riepilogo?
Grazie,
Gloria
Re: JSL Crea una nuova tabella di riepilogo con i valori massimi delle colonne variabiliDopo che colNamesList è stato creato, puoi utilizzare la funzione Rimuovi da() per eliminare righe specifiche nell'elenco e quindi, una volta ridotto l'elenco alle sole colonne desiderate, puoi utilizzarlo per la generazione della tabella di riepilogo.
Vedere la voce Scripting Index per la definizione e l'esempio della funzione Remove From()()