I am a long time fan of Stack Overflow but I’ve come across a problem that I haven’t found addressed yet and need some expert help.
I have a query that is sorted chronologically with a date-time compound key (unique, never deleted) and several pieces of data. What I want to know is if there is a way to find the start (or end) of a region where a value changes? I.E.
DateTime someVal1 someVal2 someVal3 target
- 1 3 4 A
- 1 2 4 A
- 1 3 4 A
- 1 2 4 B
- 1 2 5 B
- 1 2 5 A
and my query returns rows 1, 4 and 6. It finds the change in col 5 from A to B and then from B back to A? I have tried the find duplicates method and using min and max in the totals property however it gives me the first and last overall instead of the local max and min? Any similar problems?
I didn’t see any purpose for the someVal1, someVal2, and someVal3 fields, so I left them out. I used an autonumber as the primary key instead of your date/time field; but this approach should also work with your date/time primary key. This is the data in my version of your table.
I used a correlated subquery to find the previous pkey_field value for each row.
Then put that in a subquery which I joined to another copy of the base table.
This is the output from that final query.