- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Forward Lag
I am attempting to write a formula that works off a forward lag function. I have multiple data sets with values that are a function of time (1200Hz). I want to alter these columns so that the max value is equal to 0.5 seconds, so that when I graph the data, I can do so where the max values overlap. I was able to write this formula so that it works above the column max, but cannot get it to work in a reverse lag function.
If(
:A == Col Maximum( :A ), 0.5,
Lag( Col Maximum( :A ), 1 ), Lag( :B, 1 ) + 1 / 1200,
Lag( Col Maximum( :A ), -1 ), Lag( :B, -1 ) - 1 / 1200
)
As you can see from the preview, it works after the
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Forward Lag
I believe this is what you need
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
)
BTW.....it is much handier for the responder to have your sample data not just displayed as a picture, but also to have it in a machine readable form. Attaching your data table would be nice.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Forward Lag
Hi, thank you for the reply!
That didn't quite obtain what I was looking for. Thank you for the note about attaching data, as this is my first question - I wasn't sure the proper protocol. I have attached below.
As you'll see Column B's output formula creates the desired product above 0.5, counting 1/1200 sec up from there, but I need it to count backward by 1/1200 of a second from 0.5, which is where I am struggling since it is dependent on the columnmax from column A
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Forward Lag
Your IF() statement is being interpreted as you have written it.
However,
Lag( Col Maximum( :A ), 1 )
returns the value of 2693.162203 which will be interpreted a TRUE, so then
Lag( :B, 1 ) + 1 / 1200
Will be executed. The third comparison will never be executed since the second comparison will always return a positive value.
What are you expecting
Lag( Col Maximum( :A ), 1 )
to return?