Reporting of aggregated data


(Cédric Krier) #1

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.

Implementation


Long Term Purchase Agreements
Sale reporting of aggregated data
(Gonzalo González Domínguez) #2

I know of seeing it in other projects pygal, it has sparklines and support py2 and py3. It seems more maintained than the other libray and comes packaged on linux distributions.


(Cédric Krier) #3

I seems a good choice.


(Cédric Krier) #4

After some testing with pygal and SVG rendering, it does not work correctly in the client. I think it is because the generated SVG contains javascript. So I tested the Sparktext rendering. It works pretty well and it has the advantage to have smaller size as it is only a char.


(Cédric Krier) #5

Indeed switching is not so good experience but having a single menu entry with multiple actions do pretty well the job.


(Markus Bala) #6

I am new here.

Just to share some thought, we may see the reporting from odoo.
It is quite flexible to do aggregate dan data analysis.