All reporting solutions ultimately put information (data),
layout (report definition), and analytics (logic) in one place to produce a
report, which can be reviewed in a Windows or web environment, and exported to
various document formats (such as PDF, Excel, and Word).
A report, in the context of reporting solutions, is a report
definition (see Fig. 1). The report definition specifies the connections to the
data source, as well as the layouts and styles used to present the data.
Layouts define the structure and rules of the data representation, and styles
define how data will look once retrieved.
Fig 1: Data Items are fed to reports and then
output to static documents
The report definition does not deal with data directly,
because data is not live. The report has to be processed and rendered in order
to view data. The report definition is simply a template, a static layout which
rarely changes, and which (much like templates) has the characteristic to produce
content with consistent look and feel across all report sections.
Although reports do not work with data directly, the report
author has to have good knowledge of the data, as well as the tools to create
nice looking and helpful reports. Here is where the reporting solution comes in
– it deals with the report layout, styling, and report processing. The layout
and styling are created in a special tool, called report designer, to produce
the report template, which is filled with data during the report rendering
process to produce the final report. The report can be run at any time and it
will show the latest state of the data stored.
Another perspective on how reporting solutions work is to
view the report as a repeater. Like repeaters, which
are used to display a repeated list of data, a report displays data by applying
“rules” (or “templates”) to the data and then rendering that data in a layout
that’s ultimately designed to be printed. Also like repeaters, individual data
items rendered in a report cannot be altered. The templates are defined and
then applied to all data items the same way (see Fig. 1).