A system and method for defining and using logical extensions to a set of data
stored in a relational database. A metadata definition for various extensions is
stored to explain how to extend data as it is stored into a logical representation
suitable for reporting and calculating purposes. An analytical engine translates
report requests into SQL queries to access the physically stored data using the
metadata extension definitions if necessary to generate appropriate results. Here,
data is stored in at least one table that is physically keyed by a set of attributes
with the attribute determining the granularity or level of data contained within
the tables. A report request causes the engine to calculate and/or display the
data at a lower level of granularity than exists, thereby invoking the metadata
definitions. The extension definitions may describe how to extend data from the
physical to the logical including joins and allocation rules.