Berechnen Sie die Zeitdifferenz und summieren Sie die WerteIch habe eine Tabelle mit einer Zeitspalte in diesem Format: m/d/yh:m:s
Ich möchte eine neue Spalte mit dem Namen „CumTimeSec“ erstellen, die die kumulative Zeitdifferenz bis zu dieser Zeile anzeigt.
Zum Beispiel,
Zeit
| Zeit | CumTimeSec |
11.05.2022 17:30:03 Uhr | 0 |
11.05.2022 17:30:08 Uhr | 5 |
| 11.05.2022 17:30:20 Uhr | 17 |
| 11.05.2022 17:30:23 Uhr | 20 |
Ich dachte, ich könnte diesen Code verwenden, um die Differenz zwischen den einzelnen Zeilen zu berechnen, bin mir aber nicht sicher, wie ich die Werte summieren soll
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
MassenanpassungBetreff: Zeitdifferenz berechnen und Werte aufsummierenVielen Dank @_jr !! Lief wie am Schnürchen!!
Betreff: Zeitdifferenz berechnen und Werte aufsummierenIch habe Dif noch nie verwendet, aber Sie könnten es mit Col Cumulative Sum kombinieren
Col Cumulative Sum(Dif(:Time))
Betreff: Zeitdifferenz berechnen und Werte aufsummierenHallo Lavik17,
Verzögerung ist für diese Anwendung nützlich, aber Sie müssen sie ein paar Mal verwenden.Beachten Sie, dass Dif() die Differenz zwischen der aktuellen Zeile und einer "Lag"-Zeile nimmt.Zum Beispiel berechnen Sie oben :Time - Lag(:Time).Das ist dasselbe wie Dif(:Time).
Hier ist ein Beispiel, das Sie mit JMP-Beispieldaten ausführen können.Die Tabelle listet nur eine Folge von Jahren auf, funktioniert aber genauso für eine Zeitspalte.
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));