7. A method of querying a multidimensional database comprising: receiving a multidimensional query statement specified in a multidimensional query language that includes multidimensional query language objects which include code extensions that support both declarative software code and user-defined software routines written in procedural code, such that the multidimensional query language objects allow users to tailor multidimensional queries to the user's business model, wherein the object model includes a context object that generates and executes at least one conditional software code procedure that depends on the current execution context, wherein the context object is not explicitly passed or returned by a procedure but is available during execution of the software code procedure, and wherein the context object includes a plurality of context properties including at least the following: a current cube property that identifies the cube for current query context, a current database name property that identifies the current database, a pass property that specifies the pass number for the current context wherein the pass corresponds to a stage of computation in the execution context, and a current server ID property that identifies the currently executing server's name, the received multidimensional query statement further including procedural calls to one or more of the multidimensional query language objects, wherein the procedural calls include calls to procedural language routines, functions or procedures that are written in one of a plurality of procedural programming languages, wherein procedural calls facilitate algorithmic manipulation of multidimensional entities including cubes, dimensions, members, sets and tuples using objects of the object model and declarative statements that define or describe specifically the data to be retrieved, wherein the declarative statements include select, where and from clauses, and wherein the multidimensional query statement includes a call to a procedure that is stored in a data store; executing the query against the database; and returning results of the query to a requesting entity.
7. A method of querying a multidimensional database comprising: receiving a multidimensional query statement specified in a multidimensional query language that includes multidimensional query language objects which include code extensions that support both declarative software code and user-defined software routines written in procedural code, such that the multidimensional query language objects allow users to tailor multidimensional queries to the user's business model, wherein the object model includes a context object that generates and executes at least one conditional software code procedure that depends on the current execution context, wherein the context object is not explicitly passed or returned by a procedure but is available during execution of the software code procedure, and wherein the context object includes a plurality of context properties including at least the following: a current cube property that identifies the cube for current query context, a current database name property that identifies the current database, a pass property that specifies the pass number for the current context wherein the pass corresponds to a stage of computation in the execution context, and a current server ID property that identifies the currently executing server's name, the received multidimensional query statement further including procedural calls to one or more of the multidimensional query language objects, wherein the procedural calls include calls to procedural language routines, functions or procedures that are written in one of a plurality of procedural programming languages, wherein procedural calls facilitate algorithmic manipulation of multidimensional entities including cubes, dimensions, members, sets and tuples using objects of the object model and declarative statements that define or describe specifically the data to be retrieved, wherein the declarative statements include select, where and from clauses, and wherein the multidimensional query statement includes a call to a procedure that is stored in a data store; executing the query against the database; and returning results of the query to a requesting entity. 14. The method of claim 7 , receiving a query comprises receiving an multi-dimensional expression query language (MDX) query.