A multi-dimensional database query to be sent to a data source may be
split into multiple smaller queries by a mid-tier solution and sent
individually to the data source(s) for calculation and retrieval of data.
This may be accomplished by creating row and column tree structures
representing title and header rows and header columns in the query grid.
The operation to be performed by the query may then be performed on these
tree structures. The grid may then be split based on the resulting tree
structures, and forwarded independently to one or more data servers. The
results may be merged to generate the complete result or cursored. This
allows the system to pass multiple smaller grids to data servers.