the preview functionality works by basically doing all the lookups.
currently, we then we get to aspandas() and repeat exactly the same series of lookups.
give the new "engine" classes persist, we can probably add a dictionary to cache the results within each dimension engine (eg store{obs_cell: (looked_up_cell, looked_up_cell_value)}) every time we successfully lookup something to save us the processing overhead of repeating ourselves.
remember this needs to be cached after cellvalueoverrides, but the cache needs looking at as soon as we enter def lookup() (I think, something along those lines).
the preview functionality works by basically doing all the lookups.
currently, we then we get to
aspandas()
and repeat exactly the same series of lookups.give the new "engine" classes persist, we can probably add a dictionary to cache the results within each dimension engine (eg store
{obs_cell: (looked_up_cell, looked_up_cell_value)}
) every time we successfully lookup something to save us the processing overhead of repeating ourselves.remember this needs to be cached after cellvalueoverrides, but the cache needs looking at as soon as we enter
def lookup()
(I think, something along those lines).