1. A method of querying a plurality of data sources, the method comprising: receiving an abstract query for querying the plurality of data sources, wherein the abstract query specifies a first data source with a first level and a second data source with a second level thereby defining a multiple source hierarchical dimension; generating a first data source specific query specifying the first level of the first data source; executing the first data source specific query against the first data source to produce results for the first level, wherein the results for the first level include a value for the first level; generating a context expression for the second data source, wherein the context expression relates the first level to the second level; generating a second data source specific query specifying the second level and including the context expression for the second data source; executing the second data source specific query against the second data source to produce results for the second level; and returning the results for the first level and the results for the second level.