1. A computer programming system for interaction with multidimensional data comprising: a processor, wherein the processor stores and executes instructions for providing an object model that exposes multidimensional query language objects and functionality to an object oriented procedural language code, wherein the multidimensional query language objects include code extensions that support both declarative software code and user-defined software routines written in procedural code, such that the object model allows users to tailor multidimensional queries and the associated functionality 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; a receiver component that receives object oriented procedural language code based on the object model, the received code including the following: 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, and 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 a compilation component that compiles the received code into a computer executable machine code.
1. A computer programming system for interaction with multidimensional data comprising: a processor, wherein the processor stores and executes instructions for providing an object model that exposes multidimensional query language objects and functionality to an object oriented procedural language code, wherein the multidimensional query language objects include code extensions that support both declarative software code and user-defined software routines written in procedural code, such that the object model allows users to tailor multidimensional queries and the associated functionality 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; a receiver component that receives object oriented procedural language code based on the object model, the received code including the following: 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, and 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 a compilation component that compiles the received code into a computer executable machine code. 2. The system of claim 1 , wherein the compilation component stores the compiled procedure to a data store.