Ciao,
Ho due quesitons:
1) Come potrei andare a sommare i valori di una riga tra due colonne. Ho trovato lo snipet del codice qui sotto, ma semplicemente copia il quinto valore e inserisce nella nuova riga. Per ogni riga, voglio che vengano aggiunti tutti i valori tra la quinta riga e l'ennesima colonna di TR.
TotRow = dt << Get Column Names( Numeric );
TR = N Items( TotRow );
dt << New Column( "Total", Numeric );
For Each Row( :Total[] = (Sum( (:(Column( dt, TotRow[5 :: TR] ))) )) );
2) In secondo luogo, come si calcolano le tabelle di riepilogo. Sto tentando di ordinare i valori in una tabella di riepilogo e quindi di aggiungere una colonna (in questo ordine); tuttavia, quando eseguo lo script, si aprono più tabelle di riepilogo, una di base e una con le nuove colonne, né esegue le due operazioni nell'ordine corretto. Voglio solo quello modificato e voglio poterlo fare riferimento per aggiungerlo ulteriormente. Codice mostrato di seguito:
dt2 = dt << Summary( Group( :Name, :Final ), Link to original data table( 0 ) );
dt2 << Sort( By( :Final ), Order( Descending ) );
dt2 << New Column( "Description", Character, Values( {"a", "b", "c"} ) );Grazie! Apprezzo l'aiuto che questo forum di discussione mi ha dato.
Ecco uno script che risponde a entrambe le tue domande. Devi iniziare a usare
Aiuto ==> Indice di scripting
per ottenere l'elenco completo di opzioni per tutte le funzioni e piattaforme
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
// First way
dt << New Column( "HW Sum", formula( :Height + :Weight ) );
// Second Way
dt << New Column( "Create with Loop" );
For Each Row( :Create with Loop = :Height + :Weight );
// Second Question.....use the Replace Table option on the sort
dt2 = dt << Summary( Group( :Sex ), Link to original data table( 0 ) );
dt2 << Sort( By( :Sex ), Order( Descending ), Replace table( 1 ) );
dt2 << New Column( "Description", Character, Values( {"a", "b", "c"} ) );