1. A method for creating a data mart in a business intelligence server environment, said method comprising: maintaining data in a plurality of data sources, said data sources including at least a relational database and a multidimensional database; providing, on a business intelligence server, a virtual semantic model, wherein the virtual semantic model is a presentation layer to a user and is logically mapped to a plurality of physical models, each said physical model representing entities in a said data source; receiving, via the virtual semantic model from the user, a plurality of levels for aggregating data that span two or more of the plurality of data sources and a selection of a said data source for storing aggregated data, wherein said levels are identified by analyzing runtimes of queries on the two or more said data sources, wherein at least one said query reduces runtimes thereof by aggregating the data at said levels; creating an aggregate matrix that includes said levels, wherein the aggregate matrix is operable to perform data aggregation only at said levels by creating for each said level, in the said data source, a single aggregate table that contains columns at the each said level and at higher levels in a dimension hierarchy, and creating for each fact table a single aggregate table that includes columns corresponding to primary keys at the each said level; creating, by the business intelligence server, a multidimensional cube that contains the aggregated data in the aggregate tables and storing the multidimensional cube in the said data source.
1. A method for creating a data mart in a business intelligence server environment, said method comprising: maintaining data in a plurality of data sources, said data sources including at least a relational database and a multidimensional database; providing, on a business intelligence server, a virtual semantic model, wherein the virtual semantic model is a presentation layer to a user and is logically mapped to a plurality of physical models, each said physical model representing entities in a said data source; receiving, via the virtual semantic model from the user, a plurality of levels for aggregating data that span two or more of the plurality of data sources and a selection of a said data source for storing aggregated data, wherein said levels are identified by analyzing runtimes of queries on the two or more said data sources, wherein at least one said query reduces runtimes thereof by aggregating the data at said levels; creating an aggregate matrix that includes said levels, wherein the aggregate matrix is operable to perform data aggregation only at said levels by creating for each said level, in the said data source, a single aggregate table that contains columns at the each said level and at higher levels in a dimension hierarchy, and creating for each fact table a single aggregate table that includes columns corresponding to primary keys at the each said level; creating, by the business intelligence server, a multidimensional cube that contains the aggregated data in the aggregate tables and storing the multidimensional cube in the said data source. 3. The method of claim 1 , further comprising: creating, by the business intelligence server, a set of relational dimensions for level attributes.