These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings wherein:
Charts display information in a graphical manner. They are an effective means to display a large amount of information quickly to a business user. Common types are bar or column charts which show numerical information for category and series information.
Consider the case were the business users needs to see the revenue information in the about chart, but also needs to see total revenue for each year, the percentage of revenue each territory contributed to the total and the total revenue for all years and all regions. An example of how this is typically shown is included in
The crosstab shows the overall total for all years and all regions. It also shows the totals for each year.
This crosstab shows the portion of revenue that each provided.
Through the use of a report specification and a query engine, the chart data layout system 100 (or charting engine) can determine how to calculate the values that the author wants. For example, by placing a reference to Revenue in the chart title, the chart data layout system 100 understands this to mean total revenue. If a reference to Revenue is placed in the legend, the chart data layout system 100 understands this to mean total revenue for each item in the legend.
In addition to the fact that this type of information can be displayed in the chart, the simplicity with which this chart can be created is also part of the chart data layout system 100.
The concept of adding information to category and series labels can also be expanded to other areas of the chart, including legends and labels.
A reports specification 152 defines the types of values that are to be placed in the chart layout areas. For example, a total could be placed in the title, an average could be placed in the footer and a percentage growth calculation could be placed in the series. As is appreciated, the report specification 152 includes references to an underlying metadata model, which in turn references a repository or database.
The query decomposition module 102 determines the additional queries (along with their definitions) that are to be executed in order to provide the correct information and in the correct area of the chart layout. The query module 102 uses the references to the metadata model, along with the location of the requested data in the chart to build the additional queries. Preferably, one query is created for each chart layout area.
The query engine 154 then runs the queries and fetches the data in a table format. The chart data layout system 100 uses the report specification 152 and the fetched data to determine where to render each number or value on the chart.
Advantageously, the chart data layout system 100 and method shows additional aggregate information on the chart. This is more compact and easier to read. It allows business users to quickly understand their data and make appropriate decisions.
The chart data layout system 100 and methods of the present invention may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer readable memory and a computer data signal and its carrier are also within the scope of the present invention, as well as the hardware, software and the combination thereof.
The present invention has been described with regard to one or more embodiments. However, it will be apparent to persons skilled in the art that a number of variations and modifications can be made without departing from the scope of the invention as defined in the claims.