新しいバッチごとに Lag 関数を「リセット」するにはどうすればよいですか?こんにちは、
次のデータがあり、Lag 関数を使用して各結果とその前の結果の差を計算したいと考えています (データ テーブルもこのメッセージに添付されています)。
JMP 16を使用しています。

現在、「差異」列で次の数式を使用しています。

私が理解できないのは、バッチ B に到達したら計算を「リセット」する方法です。現在の数式でも、行 16 の差の値だけが間違っていることはわかっていますが、それでもバッチ内で適切に機能するように数式を設定する必要があることはわかっています。
何か提案はありますか?
ジェフ
基本的なデータ分析とモデリングRe: 新しいバッチごとに Lag 関数を「リセット」するにはどうすればよいですか?式を次のように変更します
If( :"Time Point (months)"n == 0,
.,
:Result - Lag( :Result )
)
Re: 新しいバッチごとに Lag 関数を「リセット」するにはどうすればよいですか?列移動平均を利用して前の値を取得することもできます( データ準備 - 列データを他の列で減算します)
:Result- (Col Moving Average(:Result, 1, 1, 0, :Lot Number) * 2 - :Result)
しかし、あなたの場合はジムが提案したものを使用する方がおそらく良いでしょう。また、Lagの代わりに使用できるDif関数もあります。
If( :"Time Point (months)"n == 0,
.,
Dif(:Result, 1)
)
Re: 新しいバッチごとに Lag 関数を「リセット」するにはどうすればよいですか?素早い返信ありがとうございます@txnelson @jthi
本当に感謝しています!!
Re: 新しいバッチごとに Lag 関数を「リセット」するにはどうすればよいですか?このようなグループ化された遅延操作を頻繁に必要とする場合は、
マーケットプレイスのhttps://marketplace.jmp.com/appdetails/Normalization+GUI をご覧ください。
@jthiのアプローチに基づいて、グループ化と組み合わせて N-1 を実装しました。

正確な構文を覚えるのは大変です:)
さらに、プラットフォームは除外された行を自動的に処理します。