1. A method of producing a business report from data contained in a computer based business intelligence system, the method comprising the steps of: defining one or more macro functions; producing a report layout containing one or more macrotized database language expressions, the macrotized database language expression having at least one of the macro functions; produce one or more valid database language expressions for a database query by modifying the one or more macrotized database language expressions in dependence upon the return value of the at least one of the macro functions; and applying the one or more valid database language expressions to one or more database to produce the business report.