Calculer la différence de temps et additionner les valeursJ'ai une table avec une colonne de temps avec ce format : m/d/yh:m:s
Je voudrais créer une nouvelle colonne appelée CumTimeSec qui affichera la différence de temps cumulée jusqu'à cette ligne.
Par example,
Temps
| Temps | 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 |
J'ai pensé que je pourrais utiliser ce code pour calculer la différence entre chaque ligne, mais je ne sais pas comment additionner les valeurs
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
ScriptRe : Calculer le décalage horaire et additionner les valeursSalut Lavik17,
Le décalage est utile pour cette application, mais vous devez l'utiliser plusieurs fois.Notez que Dif() prend la différence entre la ligne actuelle et une ligne "retard".Par exemple, ci-dessus, vous calculez :Time - Lag(:Time).C'est la même chose que Dif(:Time).
Voici un exemple que vous pouvez exécuter avec des exemples de données JMP.Le tableau répertorie simplement une séquence d'années, mais il fonctionnera de la même manière pour une colonne de temps.
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));