The present invention relates generally to electronic data modeling techniques, and more particularly to data modelling the layout of a report.
Business intelligence (BI) systems are gaining wide acceptance as a way of displaying business information from gathered sets of data stored in databases like a data warehouse. In a BI system, end users typically receive information from the system laid out in the form of reports. Solutions for laying out information in modern reporting systems generally fall into one of two categories, the first being a banded layout model, and the second being a paint layout model.
In the banded layout model, a report is broken into bands with each band representing a group header/footer or detail area. The banded layout model is generally used to do “list-style” reporting where information is displayed in bands repeating down a page. The problem with the banded layout model is that it is highly restrictive in the types of layouts one can build with it.
In the paint layout model by contrast, the layout of a report is seen as being “drawn onto a canvas”, as one would do if one were using a drawing application. This allows the author of a report to place objects in a fairly precise manner. The problem with the paint layout model is that since layout elements are independently placed on a “canvas”, they handle changes or conflicts with other elements poorly. For instance, when rendering a report on a different page size from the choice in the original paint layout model adjacent elements such as a table and a line of text can overlap one another.
It is therefore desirable to enable the creator of a report to control not only how the report will look, but also how the underlying elements of the report will behave in the dynamic environs of a modern reporting system.
For the foregoing reasons, there is a need for an improved report layout model.
The present invention is directed to a report layout model and method. The model includes at least one report layout content element for providing structure to data generated from a query, and at least one report layout rendering element for rendering the generated query data in a report.
In an aspect of the present invention, the model further includes at least one report layout element contained within another report layout element.
In an aspect of the present invention, the model further includes at least one style element to improve control over rendering the content elements and the rendering elements within a report.
In an aspect of the present invention, the style element is provided in accordance with the Cascading Style Sheets (CSS) specification.
The method includes the steps of providing structure to data generated from a query using one or more than one report layout content element, and rendering the generated query data in a report using one or more than one report layout rendering element.
In an aspect of the present invention, the method further includes the step of containing at least one report layout element within another report layout element.
In an aspect of the present invention, the method further includes the step of providing one or more than one style element to improve control over rendering the content elements and the rendering elements within a report.
In an aspect of the present invention, the style element is provided in accordance with the Cascading Style Sheets (CSS) specification.
In contrast to the banded model, the report layout model allows an author the flexibility to layout the report as they desire, and in contrast to the paint model, the maintainability of the report is much higher. Changes to an element in the layout model will have a controlled effect on the other elements in that layout model. Unintentional overlapping of elements is thus minimized in the layout model.
The report layout model allows a report author to layout a report in a manner that is both flexible and easy to maintain. The layout model allows an author to define how the layout of a report will behave as much as it allows him to define how it looks.
The report layout model 10 provides the best of both worlds, since it provides the stability admired in the banded layout model as well as the flexibility evidenced by the paint layout model.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
a through 8e illustrate an exemplary example of a page set report as rendered from the report layout model;
An embodiment of the present invention is directed to a report layout model 10 and method 100. As illustrated in
As illustrated in
As illustrated in
As illustrated in
TABLE 1 lists examples of a report layout content element 12 in accordance with an embodiment of the report layout model 10 and method 100 that have rough equivalents in Hypertext Markup Language (HTML).
A “table” report layout content element 20 is roughly equivalent to an HTML table.
A “block” report layout content element 22 represents a set of elements in a layout. It behaves similarly to a DIV (DIVISION) element or paragraph in HTML, and follows the HTML definition of a DIV element.
A “text” report layout content element 24 is used in the layout model 10 to render text. The data source of the text element 24 determines what text to render in a report.
An “image” report layout content element 26 is used in the layout model 10 to render an image in a report. The Universal Resource Locator (URL) for that image is determined by the data source of the image element 26.
A hyperlink” report layout content element 28 represents an HTML style anchor, with the hyperlink data source defining the URL to be used for that hyperlink element 28. A hyperlink element 28 can further perform the roll of a layout container and can therefore have other layout elements 12/14 contained within it.
A “button” report layout content element 30 is roughly equivalent to an HTML-style button hyperlink. The button hyperlink datasource defines the URL to be used for the button element 30. The button element 30 can also perform the roll of a layout container, and can therefore also have other layout elements 12/14 contained within it.
A “bookmark” report layout content element 32 allows for linking to a location in a rendered layout. The name of the bookmark element 32 is determined by its datasource, and is the rough equivalent of a named anchor in HTML, such as “<A NAME=“MyBookmark” ” for example.
Examples of a report layout rendering element 14 used to render data in various HTML forms are listed in TABLE 2.
Since the “list” 40, “crosstab” 42, “repeater” 46 and “page set” 48 report layout rendering elements 14 can all further perform the roll of containers, their contents can be that of other report layout elements 12/14. For example, the repeater report illustrated in
The report schema tree of an XML embodiment of the report layout model 10 is illustrated in
Detail pages 68 are then rendered within the lowest level grouping of a page set. All detail rows from the page set query within the lowest level grouping are available for rendering. A detail page 68 can contain layout elements 12/14 that use the same query as the page set element 48. Included in the detail pages 68 is a page element 70 having a page body 80, and optionally a page header component 82 and/or a page footer component 84.
As illustrated in
The report layout model and method allow an author to define how the layout of a report will behave as much as it allows him to define how it looks.
As illustrated in
As illustrated in
In an embodiment of the present invention, the method 100 further includes the step of providing one or more than one style element to improve control over rendering the content elements and the rendering elements within a report 108.
In an embodiment of the present invention, the style element is provided in accordance with the Cascading Style Sheets (CSS) specification.
With these report layout elements 12/14 that allow for the improved layout of data, the report layout model 10 and method 100 extend the HTML/CSS layout model.
The report layout model 10 and method 100 therefore provide a solution to the behavior of elements in a report model as much as how those elements will appear upon rendering.
In contrast to the banded model, the report layout model 10 and method 100 provide an author with the flexibility to layout a report as they so choose, and in contrast to the paint model, the maintainability of that report is much higher. The report layout model 10 and method 100 enable a report author to layout a report in a manner that is both flexible and easy to maintain, and where changes to an element in the layout will have a controlled effect on other elements in the layout. The unintentional overlapping of elements is therefore minimized.
Any hardware, software or a combination of hardware and software having the above-described functions may implement the report layout model 10 and method 100 according to the present invention, and methods described above. The software code, either in its entirety or a part thereof, may be in the form of a computer program product such as a computer-readable memory having the model and/or method stored therein.
Furthermore, a computer data signal representation of that software code may be embedded in a carrier wave for transmission via communications network infrastructure. Such a computer program product and a computer data signal are also within the scope of the present invention, as well as the hardware, software and combination thereof.
Therefore, although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred embodiments contained herein.