aiuta a creare una colonna che è una somma cumulativa basata su altre colonne<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto cercando di creare una nuova colonna in JSL che sarà una somma continua delle righe precedenti in quella colonna.Ho una colonna chiamata "Flusso giornaliero totale" Ho anche una colonna che segna da quale posizione provengono i dati in "flusso giornaliero totale (chiamalo" Sito "). ad esempio, Say on Oct. 1, (che è specificato in un'altra colonna chiamata "giorno dell'anno dell'acqua") ho un flusso giornaliero totale di 1000, e questo giorno sembra essere il giorno 1 dell'anno.Voglio una colonna la cui prima riga sarà = 1000. quindi diciamo il secondo giorno, che sarà la seconda riga nella tabella, il 2 ottobre, c'è un flusso giornaliero totale di 5000, vorrei la nuova riga nella nuova la colonna deve essere 1000 + 5000 = 6000. quindi diciamo che il 3 ottobre ha un flusso giornaliero di 3000, quindi la riga successiva sarà 6000+3000 = 9000. Questo per ogni riga nella mia tabella che condivide lo stesso nome di posizione (Sito) e si trova nello stesso "anno" specificato dalla colonna "giorno dell'anno dell'acqua" (1-365).
Ri: aiuta a creare una colonna che sia una somma cumulativa basata su altre colonnefelice che tu lo trovi utile,
Forse l'oneliner può essere basato su questo:
Ri: Sintassi: come creo una colonna indice per ID
lo renderebbe anche indipendente dall'ordinamento e manterrebbe una formula attiva.
ma non sono sicuro di come affrontarlo.
Migliore
Ri: aiuta a creare una colonna che sia una somma cumulativa basata su altre colonneCiao Ron,
Questa è un'ottima soluzione, grazie per la pubblicazione.
La formula per la nuova colonna sumheightbysex presenta un leggero errore di battitura. Dovrebbe essere
If(Row() == 1, :height, :sex == Lag(:sex, 1), :height + Lag(:sumhightbysex, 1), :sex != Lag(:sex, 1), :height, Empty())
utilizzando il valore nella nuova colonna da aggiungere all'altezza, e non all'altezza della riga precedente, :height + Lag(:height), 1).
Buongiorno
Ri: aiuta a creare una colonna che sia una somma cumulativa basata su altre colonneCIAO un portiere ,
fino a quando qualcuno più intelligente non si presenta con una fodera, puoi provare la mia soluzione per idraulici:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Row", formula( :Row() ), eval formula );
dt:row << delete formula;
// assuming age is time and sex is site
dt << Sort( By( :sex, :age ), Order( Ascending, Ascending ), replace table );
// now sum as you want it
dt << New Column( "sumhightbysex",
formula( If( Row() == 1, :height, :sex == Lag( :sex, 1 ), :height + Lag( :height, 1 ), :sex != Lag( :sex, 1 ), :height, Empty() ) ), eval formula
);
dt:sumhightbysex << delete formula;
// sort to original order
dt << Sort( By( :Row ), Order( Ascending ), replace table );
// clean up
dt << delete column (row);
Speak( "bob's your uncle" );
Ri: aiuta a creare una colonna che sia una somma cumulativa basata su altre colonneSe stai utilizzando JMP versione 12, se fai clic con il pulsante destro del mouse sul campo dell'intestazione di colonna nella tabella dati, la colonna Nuova formula -> Riga -> Cumulativo dovrebbe funzionare senza dover ricorrere a JSL. Vedi sotto:
