1. A method of producing a business report from data contained in a computer based business intelligence system, the method comprising: defining one or more macro functions to prompt for user inputs and accept the user inputs during execution of the one or more macro functions; producing a report layout containing one or more macrotized database language expressions, the one or more macrotized database language expressions having at least one of the macro functions and one or more partial expressions; producing, by a computer, one or more valid database language expressions for a database query by at least modifying the one or more macrotized database language expressions of the report layout, wherein the one or more macrotized database language expressions are modified upon a return value of the at least one of the macro functions, and wherein the return value of the at least one of the macros functions includes at least one of the user inputs accepted during execution of the one or more macro functions; and applying the one or more valid database language expressions to one or more databases to produce the business report, wherein the business report is based on the report layout.