U.S. patent application number 10/328744 was filed with the patent office on 2004-06-24 for apparatus and method for creating new reports from discrete reports.
Invention is credited to Wu, Ju.
Application Number | 20040123246 10/328744 |
Document ID | / |
Family ID | 32594571 |
Filed Date | 2004-06-24 |
United States Patent
Application |
20040123246 |
Kind Code |
A1 |
Wu, Ju |
June 24, 2004 |
Apparatus and method for creating new reports from discrete
reports
Abstract
A method of forming a report includes creating a report
repository from database information. The database information may
be from a set of databases with different formats. Consolidated
report criteria are selected. Based upon the consolidated report
criteria, individual reports within the report repository are
analyzed to generate a consolidated report. A report field of the
consolidated report may be linked to an individual report that is
the source of the report field.
Inventors: |
Wu, Ju; (Coquitlam,
CA) |
Correspondence
Address: |
COOLEY GODWARD, LLP
3000 EL CAMINO REAL
5 PALO ALTO SQUARE
PALO ALTO
CA
94306
US
|
Family ID: |
32594571 |
Appl. No.: |
10/328744 |
Filed: |
December 23, 2002 |
Current U.S.
Class: |
715/255 |
Current CPC
Class: |
G06F 40/166 20200101;
Y10S 707/99934 20130101; G06F 40/131 20200101 |
Class at
Publication: |
715/530 |
International
Class: |
G06F 017/21 |
Claims
1. A method of forming a report without accessing a database,
comprising: analyzing a repository of individual reports; and
generating a new report from data collected during said
analyzing.
2. The method of claim 1 further comprising: creating said
repository of individual reports by processing data within a
database.
3. The method of claim 2 wherein creating includes creating said
repository of individual reports as time stamped instances of data
within said database.
4. The method of claim 3 wherein generating includes generating
said new report with data from time stamped instances of said
individual reports.
5. The method of claim 1 further comprising: creating said
repository of individual reports by processing data from a
plurality of databases with different formats.
6. The method of claim 1 wherein analyzing includes analyzing at
least one common attribute shared by said individual reports within
said repository.
7. The method of claim 1 further comprising: linking data in said
new report to source data within an individual report of said
repository.
8. A method of forming a report, comprising: defining a report
repository with individual reports produced from database
information; selecting consolidated report criteria; and analyzing,
based upon said consolidated report criteria, said individual
reports to generate a consolidated report.
9. The method of claim 8 wherein defining includes creating a
report repository with individual reports produced from database
information selected from a plurality of databases.
10. The method of claim 9 wherein defining includes creating a
report repository with individual reports produced from database
information selected from a plurality of databases with different
formats.
11. The method of claim 8 wherein selecting includes selecting a
report field common to said individual reports within said report
repository.
12. The method of claim 111 wherein selecting includes selecting a
report field chosen from a report path, a group path, a record
number, data date, and data time.
13. The method of claim 11 further comprising connecting from a
report field of said consolidated report to an individual report
that is the source of said report field.
14. A computer readable memory, comprising: a consolidated report
generator with executable instructions to analyze a repository of
individual reports and generate a new report from data analyzed
within said repository of individual reports.
15. The computer readable memory of claim 14 further comprising a
query module to create said repository of individual reports by
processing data within a database.
16. The computer readable memory of claim 14 wherein said query
module processes data from a plurality of databases with different
formats.
17. The computer readable memory of claim 14 wherein said
consolidated report generator analyzes at least one common
attribute shared by said individual reports within said
repository.
18. The computer readable memory of claim 14 wherein said
consolidated report generator links data in said new report to
source data within an individual report of said repository.
Description
BRIEF DESCRIPTION OF THE INVENTION
[0001] This invention relates generally to the generation of
reports. More particularly, this invention relates to a technique
for using reports as a data source in order to create consolidated
reports based upon individual reports.
BACKGROUND OF THE INVENTION
[0002] There are a number of commercially available products to
create reports from data stored in a database. Crystal Decisions,
Inc. of Palo Alto, Calif., sells a number of widely used report
generation products, including Crystal Reports.TM., Crystal
Analysis.TM., and Crystal Enterprise.TM..
[0003] Known report generation tools access a database each time a
report needs to be generated. This can result in large numbers of
database accesses that slow down the report generation process. In
addition, since a single database is used, it is difficult to
decentralize database activity.
[0004] Another limitation associated with existing report
generation tools is that the creation of a new form of report
commonly requires the rebuilding of the database schema, which can
be complex and time consuming. Another problem with existing report
generation tools is that they have difficulty merging data from
multiple databases into a single report. This problem is especially
acute in the case where the databases are from different vendors
(e.g., Oracle.RTM., IBM.RTM., Microsoft.RTM.).
[0005] Databases have their data updated on a regular basis. While
this is important from the standpoint of data consistency, it
creates difficulties in obtaining snapshots of data at different
points in time.
[0006] In view of the foregoing, it would be highly desirable to
provide an improved technique for generating reports to overcome
some of the limitations associated with existing report generation
tools.
SUMMARY OF THE INVENTION
[0007] The invention includes a method of forming a report by
defining a report repository with individual reports formed from
database information. The database information may be from a set of
databases with different formats. Consolidated report criteria are
selected. Based upon the consolidated report criteria, individual
reports within the report repository are analyzed to generate a
consolidated report. A report field of the consolidated report may
be linked to an individual report that is the source of the report
field.
[0008] The invention also includes a method of forming a report
without accessing a database. A repository of individual reports is
analyzed. The repository of individual reports may be created by
processing data from databases with different formats. A new report
is generated from data collected during the analysis of the
individual reports. Data in the new report is linked to source data
within an individual report of the repository.
[0009] The invention also includes a computer readable memory
storing a consolidated report generator with executable
instructions to analyze a repository of individual reports. The
consolidated report generator produces a new report from data
analyzed within the repository of individual reports. The computer
readable memory also includes a query module to create the
repository of individual reports by processing data within a
database or a set of databases with different formats.
[0010] The invention facilitates a technique for generating new
reports without accessing a database. Therefore, new reports are
available without rebuilding a database schema. The invention
facilitates the creation of reports that show trends across data
found in other reports. Thus, the invention is able to access and
process snapshots of data. The invention allows the merging of data
from multiple databases, having either similar or disparate
formats. The invention reduces database accesses. In addition, the
invention facilitates the decentralization of database
computational activity.
BRIEF DESCRIPTION OF THE FIGURES
[0011] The invention is more fully appreciated in connection with
the following detailed description taken in conjunction with the
accompanying drawings, in which:
[0012] FIG. 1 illustrates the operation of consolidated report
generation in accordance with an embodiment of the invention.
[0013] FIG. 2 illustrates processing operations performed in
accordance with an embodiment of the invention.
[0014] FIG. 3 is an example of portions of reports used to create a
consolidated report in accordance with an embodiment of the
invention.
[0015] FIG. 4 illustrates a user interface that may be used to
create a consolidated report in accordance with an embodiment of
the invention.
[0016] FIG. 5 illustrates another user interface that may be used
to create a consolidated report in accordance with an embodiment of
the invention.
[0017] FIGS. 6-9 illustrate specific reports that may be used to
create a consolidated report in accordance with an embodiment of
the invention.
[0018] FIG. 10 illustrates a consolidated report created from the
information of the specific reports of FIGS. 6-9 in accordance with
an embodiment of the invention.
[0019] FIG. 11 illustrates the operation of expanding information
in a consolidated report in accordance with an embodiment of the
invention.
[0020] FIG. 12 illustrates the result of drilling through
information within the report of FIG. 11 to obtain a detailed base
report.
[0021] FIG. 13 illustrates a computer network architecture that may
be utilized to implement embodiments of the invention.
[0022] FIG. 14 illustrates a consolidated report architecture that
utilizes a report as a root object in accordance with an embodiment
of the invention.
[0023] FIG. 15 illustrates a consolidated report architecture that
utilizes a root object in accordance with an embodiment of the
invention.
[0024] Like reference numerals refer to corresponding parts
throughout the several views of the drawings.
DETAILED DESCRIPTION OF THE INVENTION
[0025] FIG. 1 illustrates the operation of consolidated report
generation in accordance with an embodiment of the invention. In
accordance with the prior art, a database 20 is accessed by a
conventional report generation tool 22 to produce a set of reports
24A-24N. In the prior art, if a new report is to be created, the
report generation tool 22 must be used to access the database 20 to
create a new report.
[0026] In accordance with the invention, a consolidated report
generator 26 is used to produce a consolidated report 28 based upon
the information contained in the previously generated reports
24A-24N. In other words, the consolidated report generator 26 does
not access the data in the database 20; rather, the consolidated
report generator 26 uses the data in the reports 24A-24N as a data
source to produce a new consolidated report 28.
[0027] FIG. 2 illustrates processing operations associated with an
embodiment of the invention. Initially, a report repository of
individual reports is created or defined from database information
(block 30). A report repository is simply a collection of reports.
The individual reports may be created with a conventional report
generation tool, such as Crystal Reports.TM., Crystal Analysis.TM.,
or Crystal Enterprise.TM., sold by Crystal Decisions, Inc., Palo
Alto, Calif.
[0028] By way of example, FIG. 3 illustrates four individual
reports 32A-32D. Each individual report provides information for a
quarter of a calendar year. Thus, there is a first quarter report
32A, a second quarter report 32B, a third quarter report 32C, and a
fourth quarter report 32D. In this example, each report 32 has a
customer field 34, an employee field 36, an employee address field
38, and an orders field 40, as shown in FIG. 3. The orders field 40
has a set of sub-fields, including an order ID field 42, an order
amount field 44, a customer ID field 46, a quarter sales field 48,
an order date field 50, a required date field 52, a ship date field
54, a courier website field 56, a ship via field 58, a shipped
field 60, a Purchase Order number field 62, and a payment received
field 64.
[0029] Returning to FIG. 2, the next processing operation is to
select consolidated report criteria (block 70). FIG. 4 illustrates
a graphical user interface 72 that may be used in accordance with
an embodiment of the invention to facilitate this operation. The
graphical user interface 72 may be used to display a series of
reports in a repository of reports. In this example, the available
reports 32A-32D correspond to the reports 32A-32D shown in FIG. 3.
In one embodiment of the invention, specific fields in the selected
reports are then selected. The graphical user interface 74 of FIG.
5 shows a set of fields corresponding to the fields illustrated in
the exemplary reports of FIG. 3. In this example, the quarter sales
filed 48 is selected.
[0030] Alternate techniques may be used to select consolidated
report criteria. In another embodiment of the invention, a prompt
is provided for a data source. For example, the data source may be
a report file path or a path of a directory that contains multiple
report files. Preferably, a data context for a report path can be
defined to limit the amount of viewed information. For example, a
special character (e.g., "?") can be appended to a report path to
limit information to selected fields of a report. Thus, for
example, assuming a base report grouped by region, to see only the
Quarterly sales records for the U.S. in a report, the following
report path and data context can be used:
c:.backslash..backslash.Directory
Name.backslash.ReportName.rpt?dataconte- xt=/Country[US]. This
example assumes a base report that is grouped by country and
customer. Specifying the sum of sales in a country within the base
report results a consolidated report listing this information. One
can generate trend data for all countries (e.g.,
datacontext=/Country[*]) or trend data for a selected country
(e.g., datacontext=/Country[US]).
[0031] In one embodiment of the invention, a consolidated report of
the invention is created through the following instruction
sequence:
[0032] 1. On a standard toolbar, click New.
[0033] 2. In a Reports Gallery, click As a Blank Report and then
OK.
[0034] 3. In a Database dialog box, expand Create New Connection
and click OLE DB.
[0035] 4. From a Provider list, select a Rowset Provider and click
Next.
[0036] 5. In a Data Source field, enter the name of the reports
file(s) to use in the consolidated report.
[0037] 6. Click Finish. (A data source called Reports is added to
the OLE DB folder.)
[0038] 7. Add the Reports data source to the Selected Tables area
and click OK.
[0039] At this point, a consolidated data source is ready for use
as any other data source for report creation. If the Reports node
in the Field Explorer is expanded, the fields from each report
specified as a data source may be displayed.
[0040] Preferably, special fields are provided to track specific
information about the report fields in the data source. Example
special fields include:
[0041] Report Path--This field shows the path and name of the
report for the current record.
[0042] Group Path--This field shows the group level and record
number of the current record in the report.
[0043] Record Number--This field shows the record number of the
current record in the report.
[0044] Data Date--This field shows the date the data was last
refreshed in the report.
[0045] Data Time--This field shows the time the data was last
refreshed in the report.
[0046] Returning now to FIG. 2, the next processing operation is to
analyze individual reports within a report repository based upon
selected consolidated report criteria (block 80). Executable code
is invoked to perform this operation. This results in the
generation of a consolidated report (block 82).
[0047] FIG. 3 illustrates a consolidated report 28. In particular,
the figure illustrates a consolidated report 28 with a first
quarter sales field 90, a second quarter sales field 92, a third
quarter sales field 94, a fourth quarter sales field 96, and a
total sales field 98, which represents the sum of the individual
sales fields. Observe here that the consolidated report 28 was
created based upon data in individual reports 32A-32D, instead of
accessing a database. Therefore, a new report is available without
rebuilding the database schema.
[0048] The consolidated report 28 shows trends across data found in
time stamped instances of other reports. Thus, the consolidated
report 28 has captured snapshots of data over an extended period of
time. It should be further appreciated that the database source of
the individual reports used to generate the consolidated report 28
is irrelevant. Thus, the consolidated report 28 can be created from
individual reports that were derived from disparate databases.
Accordingly, the invention allows the merging of data from multiple
databases, having either similar or disparate formats. It can also
be appreciated that the invention reduces database accesses as new
reports are generated from individual reports, not database
accesses. In addition, the invention facilitates the
decentralization of database computational activity. For example,
individual reports may be created in branch offices and then
transmitted to a central office. At the central office, a
consolidated report is generated based upon the received reports
from the branch offices.
[0049] Returning once again to FIG. 2, a final optional operation
is displayed. In particular, an operation may be implemented to
drill through to a source report (block 100). Preferably, each
field in a consolidated report 28 has an associated link to its
source report. By activating this link, the user is returned to the
source report, thereby allowing drill down processing. Arrow 102 of
FIG. 3 illustrates a link between the first quarter sales field 90
and its corresponding field 48 in source report 32A.
[0050] Now that the general features of the invention have been
described, attention turns to a more specific example for the
purpose of more fully illustrating the features and advantages of
the invention. FIG. 6 illustrates a quarterly sales report. As
shown in the design/preview window 103, this sales report specifies
quarterly sales for North America (NA), Europe (EU), and the Asia
Pacific (Asia Pac). The report window 104 illustrates a breakdown
for North American sales by country, including the U.S. and Canada.
The report also reflects a total sales amount for North America for
the first calendar quarter ending Mar. 31, 2002. Similarly, the
report reflects a breakdown for European sales by country,
including England, France, and Germany. A total sales volume for
the European region for the first quarter is also supplied. Similar
information is provided for the Asia Pacific region. FIGS. 7-9
reflect the same information for the subsequent quarters of
2002.
[0051] Using the previously described techniques, a consolidated
report can be produced from the individual reports of FIGS. 6-9.
The resultant consolidated report is shown in FIG. 10. The
consolidated report 105 of FIG. 10 illustrates quarterly sales and
total sales for each region (i.e., Asia Pacific, Europe, and North
America). The tabular numeric data is also supplied in a graph 106
in this example.
[0052] In accordance with an embodiment of the invention, the
reports used to generate the regional data can be invoked. By way
of example, FIG. 11 illustrates an expanded regional data report
107. In this example, the expanded regional data is for Europe and
includes individual quarterly and total sales for England, France,
and Germany.
[0053] In accordance with an embodiment of the invention, further
expansion or drill through to source reports can be accomplished.
For example, if the link associated with the third quarter sales
for France is activated, then the user receives the report of FIG.
8. If the user activates the France link 108 of FIG. 8, then a
detailed sales report for France in the third quarter is supplied,
as shown in FIG. 12. The detailed report 109 of FIG. 12 provides
information on the individual sales transactions that produced the
third quarter sales total (i.e., $765,332.34) for France.
[0054] FIG. 13 illustrates a computer network architecture that may
be utilized to implement embodiments of the invention. The computer
network architecture 110 includes a client computer 112. The client
computer has a central processing unit 114 connected to a network
connection circuit 116 via a bus 118. The network connection
circuit 116 is also connected to a network transport medium 119,
which may be any wired or wireless transport medium. A set of
input/output devices (not shown) is also attached to the bus 118 to
allow a user to input and view data.
[0055] A memory 120 is also connected to the bus 118. The memory
120 stores a set of executable programs. One executable program is
a query module 122 (e.g., a report generation tool). The query
module 122 utilizes standard techniques to produce a set of reports
124A-124N.
[0056] The query module 122 may access one or more databases
resident on the client computer 112. However, in this example, the
query module 122 accesses one or more databases resident on server
computer 130. Server computer 130 includes a central processing
unit 132 connected to a network connection circuit 134 via a bus
136. The network connection circuit 134 is also connected to the
network transport medium 119. A set of input/output devices (not
shown) is also attached to the bus 136 to allow a user to ipnut and
view data. A memory 138 is also connected to the bus 136. The
memory 138 stores one or more databases 140A-140N.
[0057] A consolidated report generator 150 may be executed from
either the server computer 130 or the client computer 112. In this
example, the client computer 112 includes a consolidated report
generator 150 with executable instructions to implement the
operations described herein. This results in the creation of one or
more consolidated reports 152A-152N. Additional consolidated
reports may be formed from the information contained in individual
consolidated reports.
[0058] FIG. 14 illustrates a consolidated report architecture that
utilizes a report as a root object in accordance with an embodiment
of the invention. A report object 160 is used to produce report
instances 162A-162N. The consolidated report generator 150 uses the
report object 160 to define fields for a consolidated report, as
discussed in connection with FIGS. 3-5. The consolidated report
generator 150 also produces a consolidated report 164 based upon
data contained within the report instances 162A-162N, as previously
discussed.
[0059] FIG. 15 illustrates a consolidated report architecture that
utilizes a root object in accordance with an embodiment of the
invention. A report object 160 is used to produce report instances
162A-162N. The consolidated report generator 150 is used to produce
a first instance of a consolidated report 164 and a second instance
of a consolidated report 166 based upon the data in the report
instances 162. A consolidated report object 168 operates as a
parent object to the consolidated report instances 164, 166.
[0060] Different object architectures can be used to implement
various consolidated report functionality. For example,
consolidated reports can be programmed to run at a scheduled time.
At the scheduled time, the new object inherits the superset of all
instances of the parent. Security may also be implemented through
various object architectures. For example, a user may be prohibited
from generating a consolidated report unless the individual has
access to the parent object.
[0061] An embodiment of the present invention relates to a computer
storage product with a computer-readable medium having computer
code thereon for performing various computer-implemented
operations. The media and computer code may be those specially
designed and constructed for the purposes of the present invention,
or they may be of the kind well known and available to those having
skill in the computer software arts. Examples of computer-readable
media include, but are not limited to: magnetic media such as hard
disks, floppy disks, and magnetic tape; optical media such as
CD-ROMs and holographic devices; magneto-optical media such as
floptical disks; and hardware devices that are specially configured
to store and execute program code, such as application-specific
integrated circuits ("ASICs"), programmable logic devices ("PLDs")
and ROM and RAM devices. Examples of computer code include machine
code, such as produced by a compiler, and files containing
higher-level code that are executed by a computer using an
interpreter. For example, an embodiment of the invention may be
implemented using Java, C++, or other object-oriented programming
language and development tools. Another embodiment of the invention
may be implemented in hardwired circuitry in place of, or in
combination with, machine-executable software instructions.
[0062] The foregoing description, for purposes of explanation, used
specific nomenclature to provide a thorough understanding of the
invention. However, it will be apparent to one skilled in the art
that specific details are not required in order to practice the
invention. Thus, the foregoing descriptions of specific embodiments
of the invention are presented for purposes of illustration and
description. They are not intended to be exhaustive or to limit the
invention to the precise forms disclosed; obviously, many
modifications and variations are possible in view of the above
teachings. The embodiments were chosen and described in order to
best explain the principles of the invention and its practical
applications, they thereby enable others skilled in the art to best
utilize the invention and various embodiments with various
modifications as are suited to the particular use contemplated. It
is intended that the following claims and their equivalents define
the scope of the invention.
* * * * *