1. Data Context & Fields (from your database)
This depends on your database. You can specify which tables and fields you want the report to look at.
2. Report "bone" (structure)
This sets the Rows & Columns of your report.
Measures is also specified here. Measures are aggregation functions, such as count, sum, avg, min, max, variance, and many others that are supported by your database. These aggregation functions are then chosen by the Fields so as to hide the inapplicable aggregation functions.
Filters can also be specified here. The available Filters are set by the Fields in the Data Context. Each Field sets its applicable operators, such as =, !=, like, between, >, <, <=, >=. A value can be set right there and then at the "bone". If the value is left empty at the bone, it will ask the user to enter it when generating the "actual" report.
Therefore, a report "bone" is very much related to a Data Context and a set of Fields.
3. Process database queries and dumps the result
The database and the back-end of the system generates the SQL/database query which gives phpReportLib the result of the query, which is an already organized data.
4. Data Formatter
The raw result is then passed on to the Data Formatter to put the report into a nice-looking format.
Currently available Data Formatter: Pivot Table
Future planned Data Formatter: Line Graphs, Pie Charts.
5. Report Templates (planned)
Ideally, the system would be able to allow you to choose different templates to show your report data. These report templates should be in CSS, and is aimed to give an even nicer representation of your report than the currently available.
6. The "actual" report
You can choose which report "bone" you use, and then enter the prompted filters as specified in the "bone". The report will be displayed according to the report template you choose and the preferred data formatter.
Information overload?!?!? Don't worry!!! See phpReportLib in action NOW