jslスクリプトを使用して各バッチのタイムスタンプデータを継続時間に変換する方法こんにちは、みんな、
私はJSLを使い始め、現在は初心者レベルです。
私のデータは、さまざまなプロセス変数の時系列バッチ データで構成されています。 各バッチには、異なる時系列範囲/処理時間があります。 データ解像度は 1 時間です。

まず、バッチ開始時間 (リアルタイム) を時間ポイント ゼロ (0) から開始する継続時間に変換してから、リアルタイム終了まで累積したいと考えています。 オンラインで見つけたスクリプトを使用して、なんとかそれを行うことができたと思います。 ただし、これは最初のバッチでのみ機能します。
2 番目のバッチでは、継続時間へのリアルタイム変換は時点 0 で開始されません。
質問: 各バッチ ID とそれぞれの処理時間を考慮して、スクリプトを作成/変更するにはどうすればよいですか?
前もって感謝します
脚本
names default to here (1);
dt = current data table ();
dt << New Column( "Duration",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1, 0, :TimeStamp - :TimeStamp[1] ) / 60
)
);
スクリプティングRe:jslスクリプトを使用して、タイムスタンプデータを各バッチの継続時間に変換する方法どうもありがとうマーク。 それは非常にうまくいっています。 メリークリスマス :)
Re:jslスクリプトを使用して、タイムスタンプデータを各バッチの継続時間に変換する方法この代替方法では、組み込み関数 Col Minimum( x, group ) を使用します。

Re:jslスクリプトを使用して、タイムスタンプデータを各バッチの継続時間に変換する方法各バッチの開始からの期間を計算する数式を使用して新しい列を作成する簡単なスクリプトを次に示します。

names default to here( 1 );
dt = Current Data Table();
dt << New Column( "Duration",
Format( ":day:hr:m:s", 21, 3 ),
formula(
If( Row() == 1 | :Batch != Lag( :Batch ),
start = :Timestamp
);
:Timestamp - start;
)
);