Patent ID: 7890546

Claim:
A method of operating an analytical server which is positioned between a client and a Relational Database Management System (RDBMS), the method operable to provide an interface between the client and a relational database located on the RDBMS, the relational database having fact tables, dimension tables, and metadata describing the relationships between the fact and dimension tables, the method comprising: receiving in the analytical server at least a portion of the metadata information about the relational database and its organization, the metadata information including information about a logical hierarchy of a first dimension table and a logical hierarchy of a second dimension table and information about an aggregate table in the database, wherein the aggregate table comprises values from a fact table summarized up to a first specified hierarchical level of a first dimension corresponding to the first dimension table and up to a second specified hierarchical level of a second dimension corresponding to the second dimension table, and wherein the metadata information about the aggregate table includes information on the first and the second specified hierarchical levels of the first and the second dimensions respectively; receiving in the analytical server, a metric query having a first required hierarchical level and a second required hierarchical level for each of the first dimension and the second dimension respectively; determining whether the aggregate table supports the metric query by determining that the first specified hierarchical level of the first dimension of the aggregate table is at the same level or higher level than the first required hierarchical level of the first dimension in the metric query, and that the second specified hierarchical level of the second dimension of the aggregate table is at the same level or higher level than the second required hierarchical level of the second dimension in the metric query; determining at least one database query according to the aggregate table if the aggregate table supports the metric query; and sending the determined at least one database query to the RDBMS.