Query aggregation

Information

  • Patent Application
  • 20070168323
  • Publication Number
    20070168323
  • Date Filed
    January 03, 2006
    18 years ago
  • Date Published
    July 19, 2007
    17 years ago
Abstract
An aggregated query is used to fetch data from a multidimensional database, such as an OLAP cube. The aggregated query combines individual queries that are used to fetch data from the multidimensional database into a single query. A determination is made as to what dimensions and hierarchies of the multidimensional database are used by the queries that are contained as cube functions within formulas in cells of a spreadsheet. Based on the dimensions and hierarchies that are used within the multidimensional database, a tuple for each of the individual queries is created that has the same dimensionality. These tuples having the same dimensionality are then combined to create the aggregated query.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an exemplary computing architecture for a computer;



FIG. 2 illustrates an overview of a spreadsheet system for accessing multidimensional data through the use of an aggregated query;



FIG. 3 illustrates a system for fetching data from OLAP cubes from cells of a spreadsheet application by creating an aggregated query; and



FIGS. 4 and 5 illustrate exemplary processes for fetching data from a multidimensional database using an aggregated query, in accordance with aspects of the present invention.


Claims
  • 1. A computer-implemented method for fetching data from a multidimensional database, comprising: determining cube queries that are contained within cells of a spreadsheet; wherein the cube queries require data to be fetched from the multidimensional database;determining dimensions and hierarchies within the multidimensional database that are used by the cube queries; andcreating an aggregated query by combining the cube queries.
  • 2. The computer-implemented method of claim 1, wherein determining the dimensions within the multidimensional database that are used by the cube queries comprises constructing a tuple for each of the cube queries and determining the dimensions from the tuples.
  • 3. The computer-implemented method of claim 1, wherein creating the aggregated query by combining the cube queries comprises creating a tuple having a same dimensionality for each of the cube queries.
  • 4. The computer-implemented method of claim 3, wherein creating the aggregated query comprises combining the tuples having the same dimensionality within an MDX query.
  • 5. The computer-implemented method of claim 4, wherein the MDX query requests the data from the multidimensional database as calculated measures.
  • 6. The computer-implemented method of claim 4, wherein the MDX query is a single MDX query that combines all of the cube queries within the cells of the spreadsheet.
  • 7. The computer-implemented method of claim 6, further comprising fetching the data from the multidimensional database using the aggregated query.
  • 8. The computer-implemented method of claim 6, further comprising placing the data within the spreadsheet.
  • 9. The computer-implemented method of claim 6, further comprising calculating the cells within the spreadsheet asynchronously such that interaction with the spreadsheet may occur while the data is being obtained from the multidimensional database.
  • 10. The computer-implemented method of claim 1, wherein creating the aggregated query by combining the cube queries further comprises constructing an aggregated query for each multidimensional database that is accessed by more than one cube query.
  • 11. A computer-readable medium having computer-executable instructions for interacting with an OLAP cube, comprising: parsing cube queries having parameters; wherein the cube queries may be included within cells of a spreadsheet and wherein the cube queries are directed at obtaining data from the OLAP cube;determining dimensions of the OLAP cube that identify the data to be obtained from the OLAP cube;creating a tuple having the determined number of dimensions for each of the cube queries;creating a single aggregated query by combining the tuples having the determined number of dimensions; andfetching the data from the OLAP cube using the single aggregated query.
  • 12. The computer-readable medium of claim 11, wherein determining the dimensions of the OLAP cube comprises constructing a tuple for each of the cube queries and determining the dimensions from the tuples.
  • 13. The computer-readable medium of claim 11, wherein creating the single aggregated query comprises creating an MDX query that requests the data from the multidimensional database as calculated measures.
  • 14. The computer-readable medium of claim 11, further comprising fetching the data asynchronously such that interaction with a spreadsheet that contains the cube queries may occur while the data is being fetched.
  • 15. The computer-readable medium of claim 11, wherein creating the single aggregated query comprises constructing a different aggregated query for each OLAP cube that is accessed.
  • 16. A system for fetching data from a multidimensional database from a spreadsheet, comprising: a spreadsheet application that is coupled to a network and is configured to perform steps, comprising: including MDX queries within cells of the spreadsheet; wherein the MDX queries request data within the multidimensional database;constructing an aggregated MDX query to request the data of the included MDX queries;querying a server using the aggregated MDX query;receiving data returned in response to the aggregated MDX query; andupdating the cell and any other dependent cells within the spreadsheet in response to the received data; andthe server that is coupled to a network and the spreadsheet application, and wherein the server, comprises: an application that is configured to perform actions, comprising: receive the aggregated MDX query; andattempting to obtain the requested data; and when successful in obtaining the requested data delivering the data to the spreadsheet application.
  • 17. The system of claim 16, wherein the spreadsheet application is further configured to determine dimensions within the multidimensional database that are used by the MDX queries.
  • 18. The system of claim 17, wherein the spreadsheet application is further configured to create a tuple having a same dimensionality for each of the MDX queries.
  • 19. The system of claim 18, wherein the spreadsheet application is further configured to combine the tuples having the same dimensionality within the aggregated MDX query.
  • 20. The system of claim 19, wherein the MDX query requests the data from the multidimensional database as calculated measures.