A reporting engine for generating customized reports from relational data
stored in a database. Metadata associated with the data in the database
describes the data according to one or more characteristics of the data.
One or more of tables organizing the metadata is exposed as a dimension
having at least one column of attributes. The reporting enging compares
search criteria, specified by a request from a user, to the metadata
attributes, and executes a predefined procedure for retrieving selected
data from the database. The procedure constructs a query as a function of
the comparison between the search criteria and the metadata attributes
for implementing the query to optimize retrieval of the selected data
from the database. Other aspects of the invention are directed to
computer-readable media for use in connection with the reporting engine.