Calcular la diferencia horaria y sumar los valores.Tengo una tabla con una columna de tiempo con este formato: m/d/yh:m:s
Me gustaría crear una nueva columna llamada CumTimeSec que mostrará la diferencia horaria acumulada hasta esa fila.
Por ejemplo,
Tiempo
| Tiempo | CumTimeSec |
11/05/2022 17:30:03 | 0 |
11/05/2022 17:30:08 | 5 |
| 11/05/2022 17:30:20 | 17 |
| 11/05/2022 17:30:23 | 20 |
Pensé que podría usar este código para calcular la diferencia entre cada fila, pero no estoy seguro de cómo sumar los valores.
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
La personalización en masaRe: Calcular la diferencia horaria y sumar los valoresGracias @_jr !! ¡¡Trabajado como un encanto!!
Re: Calcular la diferencia horaria y sumar los valoresNo he usado Dif antes, pero podría combinarlo Col Cumulative Sum
Col Cumulative Sum(Dif(:Time))
Re: Calcular la diferencia horaria y sumar los valoresHola Lavik17,
Lag es útil para esta aplicación, pero debe usarla un par de veces.Tenga en cuenta que Dif() toma la diferencia entre la fila actual y una fila de "retraso".Por ejemplo, arriba calcula :Tiempo - Lag(:Tiempo).Eso es lo mismo que Dif(:Tiempo).
Aquí hay un ejemplo que puede ejecutar con datos de muestra de JMP.La tabla solo enumera una secuencia de años, pero funcionará igual para una columna de tiempo.
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));