Report specification system and method
A report specification for defining a report and a system and method of producing a report output from a report definition are provided. The report specification comprises a data selection specification for defining one or more sets of data that are to be reported against and a layout specification for defining how the data is to be structured and rendered. The layout specification including elements that are typically defined in a query. The system comprises a report engine for decomposing a report definition into a layout definition and a query set component, a query engine for processing a query results definition of the query set to produce query results to be rendered, and a rendering engine for creating the final report by using the query results and the layout definition. The method comprises the steps of decomposing a report definition into a layout definition and a query set component, processing a query results definition of the query set to produce query results to be rendered, and creating the final report by using the query results and the layout definition.
1 . A report model for defining a report, the report model comprising:
a query data specification for defining one or more sets of data that are to be reported against; and
a layout specification for defining how the data is to be structured and rendered, the layout specification including elements that are typically defined in a query.
2 . The report model as claimed in claim 1 , further comprising:
a burst specification for defining how the report is to be segmented and delivered to various recipients.
3 . The report model as claimed in claim 1 , wherein the layout specification includes:
a chart specification for defining how the data is to be structure and rendered in a chart form; and
a prompt specification for defining how to prompt for parameters that can be used in the definition of the query.
4 . The report model as claimed in claim 1 , wherein the data selection specification references an underlying metadata model which can be relational or multidimensional.
5 . A method of producing a report output from a report definition, the method comprising the steps of:
decomposing a report definition into a layout definition and a query set component;
processing a query results definition of the query set to produce query results to be rendered; and
creating the final report by using the query results and the layout definition.
6 . The method as claimed in claim 5 , further comprising the step of extracting a topology of a data selection from the layout definition into a query results definition for defining how the data should be structured for rendering, the data selection and query results definition forming part of the query set.
7 . The method as claimed in claim 5 , further comprising the step of receiving the report definition.
8 . A system of producing a report output form a report definition, the system comprising:
a report engine for decomposing a report definition into a layout definition and a query set component;
a query engine for processing a query results definition of the query set to produce query results to be rendered;
a rendering engine for creating the final report by using the query results and the layout definition.
9 . The method as claimed in claim 8 , wherein the query set comprises a data selection and a query results definition for defining how the data should be structured for rendering.
10 . A memory containing computer executable instructions that can be read and executed by a computer for caring out a method of producing a report output from a report definition, the method comprising the steps of:
decomposing a report definition into a layout definition and a query set component;
processing a query results definition of the query set to produce query results to be rendered; and
creating the final report by using the query results and the layout definition.
11 . A carrier carrying a propagated signal containing computer executable instructions that can be read and executed by a computer, the computer executable instructions being used to execute a method of producing a report output from a report definition, the method comprising the steps of:
decomposing a report definition into a layout definition and a query set component;
processing a query results definition of the query set to produce query results to be rendered; and
creating the final report by using the query results and the layout definition.