|Version 3 (modified by 8 years ago) ( diff ),|
Table of Contents
Timeplots report the development of aggregated process attributes over time, e.g.:
- the number of residents in a refugee camp
- the number of projects at a location
- the total amount of funding for a project
- the stock level of certain items in a warehouse
These reports are represented as interactive graphs over a time axis.
Note: Timeplot reports should not be confused with timeline reports (which are used to show individual items along a time axis).
In each data item we have the following fields:
- a numeric value (for counting, this value is generally 1 for each individual record)
- a start date (can be None if the item has always existed)
- an end date (optional, can be None if the item still exists beyond "now")
Timeplots are meant to become a generic, configurable reporting method (similar to S3Report2), which responds to the /timeplot method.
The method shall support both resource default options, URL options as well as interactive options selection (via Ajax-update).
Timeplots shall support filtering, and (optionally) integrate a filter form.
Timeplots shall support integration into S3Summary (widget-method) and S3Profile.
Ideally, timeplots could also be exported (XLS, PDF, PNG).
Timeplot reports shall support the following aggregation methods:
- count (number of items)
- sum (total value)
- avg (average value)
- min (minimum value)
- max (maximum value)
Timeplots shall be able to report multiple value dimensions in the same graph. These dimensions can be reported as overlays (for comparison) or stacked.
It shall be possible to specify a time interval for the analysis.
To be able to specify a start date/time, we must calculate baselines, i.e. the aggregated attributes at the start of the analysis interval.
It shall be possible to specify the resolution for the aggregation. This can be:
- continuous (=report based on item timestamps rather than fixed intervals)
- automatic (= automatically adjust resolution after the length of the analysis interval)
The graphs shall provide interactive methods to explore each data point. This includes on-hover tooltips to display point data as well as options to use a data point to drill down into individual items.
It shall be possible to switch between different graph types (lines or bars).
The prototype is using the flot library to generate the graphs.