Simple Lag
The lag compensating classes (such as LagCorrectedQuery) are only designed to operate on simple forms of data-driven lag.
By 'simple', we mean that…
All Assets Share The Same Source of Lag
All of the assets in your query need to share the same source of lag. For example, conveyor systems will often have distance as their main cause of lag between sensor values.
If one or more of your components have a different source of lag (ie, time, fuel etc.), it may be too complex for the class to handle.
It can also happen if you have multiple sources of the same lag. For example, if you have many conveyors that operate at different speeds, or branch and fork from one-another.
The Lag Amounts are Constant
Some systems have variable distance between the components of the system.
This is often caused by components of the system that can store or extend, such as capacitors, tanks or accumulators. If the levels in these parts change, the effective 'distance' between components change with them.
NOTE: Variable lag is only an issue if these storage capacities are going to change within the time range of your query. If you're reporting on individual batches and the capacities never change within a single batch, your lag may still be considered 'simple'.
Working Around These Cases
If you find yourself in a situation with complex lag, you might be able to use the line tracking module of the Visual Analytics addon to handle these more exotic scenarios.