時間差を計算し、値を合計する次の形式の時間列を持つテーブルがあります: m/d/yh:m:s
その行までの累積時間差を表示する CumTimeSec という新しい列を作成したいと思います。
例えば、
時間
| 時間 | 累積時間秒 |
2022年5月11日午後5時30分03秒 | 0 |
2022年5月11日午後5時30分08秒 | 5 |
| 2022年5月11日午後5時30分20秒 | 17 |
| 2022年5月11日午後5時30分23秒 | 20 |
このコードを使用して各行の差を計算できると思いましたが、値の合計方法がわかりません。
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
マスカスタマイゼーションRe: 時差を計算して値を合計するありがとう@_jr !! 魔法のように働きました!!
Re: 時差を計算して値を合計する前に Dif を使用したことがありませんが、それを組み合わせることができます。 Col Cumulative Sum
Col Cumulative Sum(Dif(:Time))
Re: 時差を計算して値を合計するLavik17 さん、こんにちは。
ラグはこのアプリケーションに役立ちますが、数回使用する必要があります。Dif() は、現在の行と「ラグ」行の差を取ることに注意してください。たとえば、上記では :Time - Lag(:Time) を計算しています。これは、Dif(:Time) と同じです。
以下は、JMP サンプル データで実行できる例です。この表には一連の年がリストされているだけですが、時間列についても同じように機能します。
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));