調整可能なラグ差?タイトルの付け方がわかりませんが、やってみます。バッチごとに複数の時点を持つデータ セットがあります。バッチごとに、時点 0 からの結果の差を計算します。以前は、各結果を列の最小値または最大値 (適切な方) と比較して問題なく動作していましたが、結果が少し不安定な場合は、最大値または最小値が 0 以外の時点に発生することがあります。
以下のような(望ましい)差分が欲しいです。これを数式で簡単に行う方法はありますか?

ジャンプ17.1
コンテンツの編成マスカスタマイゼーション品質およびプロセスエンジニアリング結果の共有と伝達ウィンドウズRe: 調整可能なラグ差?データが常にソートされていない場合に、いくつかの可能なオプションを追加するだけです。
行列計算を使用してインデックスを取得する
As Constant(
times = :Time << get as matrix;
batches = :Batch << get as matrix;
);
batch_rows = Loc(batches, :Batch);
batch_first_time_row = batch_rows[Loc Min(times[batch_rows])];
:Result - :Result[batch_first_time_row];
Col Sum を使用して比較と積で最小値を取得します (:Time が最小の乗数でない場合、最小の乗数は 0 になります)。
:Result - Col Sum((:Time == Col Min(:Time, :Batch)) * :Result, :Batch);
Re: 調整可能なラグ差?(私の意見では)それがどのように機能するかを見る最も簡単な方法は、その式を3つの異なる式に分割することです。
最初のもの (BatchMinRow)
Col Min(Row(), :Batch)
2番目は、先ほど作成したBatchMinRow (BatchMinVal) を使用します。
:Result[:BatchMinRow]
そして最後に3番目
:Result - :BatchMinVal
これにより、数式内の各部分が何をするのかがわかりやすくなります。
Re: 調整可能なラグ差?非常に迅速で役立つ回答をありがとうございます。どのように機能するかは検討しますが、機能するようです。
Re: 調整可能なラグ差?結果が順序付けられている場合は、次のようなものを使用できます。
:Result - :Result[Col Min(Row(), :Batch)]
Col Min(Row(), :Batch) は特定のバッチの最初の行を取得し、:Result[rownr] を使用してその行にアクセスできます。

データが必ずしも順序付けられていなくても、実際には問題ではありませんが、異なる式が必要になります。