Calcola la differenza di tempo e somma i valoriHo una tabella con una colonna del tempo con questo formato: m/d/yh:m:s
Vorrei creare una nuova colonna chiamata CumTimeSec che mostrerà la differenza di tempo cumulativa fino a quella riga.
Per esempio,
Tempo
| Tempo | CumTimeSec |
5/11/2022 17:30:03 | 0 |
5/11/2022 17:30:08 | 5 |
| 11/05/2022 17:30:20 | 17 |
| 5/11/2022 17:30:23 | 20 |
Ho pensato di poter usare questo codice per calcolare la differenza tra ogni riga, ma non sono sicuro di come sommare i valori
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
SceneggiaturaRe: Calcolare la differenza di tempo e sommare i valoriCiao Lavik17,
Il ritardo è utile per questa applicazione, ma è necessario utilizzarlo un paio di volte.Nota che Diff() prende la differenza tra la riga corrente e una riga "lag".Ad esempio, sopra si calcola :Time - Lag(:Time).È lo stesso di Dif(:Time).
Ecco un esempio che puoi eseguire con dati di esempio JMP.La tabella elenca solo una sequenza di anni, ma funzionerà allo stesso modo per una colonna temporale.
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));