フォワードラグ順方向ラグ関数で動作する数式を書こうとしています。時間の関数 (1200Hz) の値を持つ複数のデータ セットがあります。これらの列を変更して最大値が 0.5 秒になるようにし、データをグラフ化するときに最大値が重なる部分をグラフ化できるようにしたいと考えています。この数式は列の最大値を超えて動作するように書けましたが、逆方向ラグ関数では動作させることができません。
もし(
:A == 列最大値( :A ), 0.5,
ラグ(列最大値(:A), 1), ラグ(:B, 1) + 1 / 1200,
ラグ(列最大値(:A)、-1)、ラグ(:B、-1) - 1 / 1200
)
プレビューからわかるように、

コンテンツの構成Re: フォワードラグこれがあなたに必要なことだと信じています
If(
:A == Col Maximum( :A ), 0.5,
Lag( :A, 1 ) == Col Maximum( :A ), Lag( :B, 1 ) + 1 / 1200,
Lag( :A, -1 ) == Col Maximum( :A ), Lag( :B, -1 ) - 1 / 1200
)
ところで、回答者にとって、サンプル データを画像として表示するだけでなく、機械で読み取り可能な形式で表示すると、非常に便利です。データ テーブルを添付していただけると助かります。
Re: フォワードラグこんにちは、返信ありがとうございます!
探していたものが得られませんでした。データの添付に関する注意をありがとうございます。これは初めての質問なので、適切なプロトコルがよくわかりませんでした。以下に添付しました。
ご覧のとおり、列 B の出力式は、0.5 より上の目的の積を作成し、そこから 1/1200 秒ずつカウントアップしますが、0.5 から 1/1200 秒ずつ逆方向にカウントアップする必要があります。これは、列 A の列最大値に依存しているため、苦労しているところです。
Re: フォワードラグIF() ステートメントは記述したとおりに解釈されます。
しかし、
Lag( Col Maximum( :A ), 1 )
2693.162203という値を返しますが、これはTRUEと解釈されます。
Lag( :B, 1 ) + 1 / 1200
実行されます。2 番目の比較では常に正の値が返されるため、3 番目の比較は実行されません。
何を期待しているのですか
Lag( Col Maximum( :A ), 1 )
戻るには?