====Simple Lag==== The lag compensating classes (such as [[class_LagCorrectedQuery|LagCorrectedQuery]]) are only designed to operate on //simple// forms of [[data-driven lag|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|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 [[visan:module_linetracking|line tracking]] module of the [[visan:start|Visual Analytics]] addon to handle these more exotic scenarios.