Rational
There is a need for a flexible and generic engine to display aggregated data.
I think the easy solution is to build a generic pivot table tool but it does not really provide a good user experience. Such tool allow to make non-sense queries with false result and are not easy to use.
Indeed I think we need to have a way to browse an predefined hierarchy (facts) with associated value (measures).
And for temporal facts, I think it is not good to show an long set of columns with a lot of values (like pivot table would bring). Indeed I think we should use Sparklines like this example and allow to browse the temporal data as a list by clicking on the row.
Proposal
Implement a generator of sparkline in SVG on server side like https://github.com/tgvashworth/sparksvg
Such report will be implemented using an UnionMixin
with a rec_name
, all the values and a optional parent/children. This model represent a hierarchy of facts. The union models should be part of the same set ModelSQL
using table_query
which compute the values using the same context, this will be ensured by inheriting from the same class. They should just change the group_by
clause of the query.
It may be useful to allow a client tab to have a selection of models to display. This will allow to switch from one report to another quickly.