System and method for generating reports from a computer database5710900Abstract A system and method for generating a report for a user which allows the user to make decisions, without requiring the user to understand or interpret data itself. An application within the system includes a graphical user interface (GUI) which allows the user to select and specify the parameters for the report, display the report, print the report, and save the report. A folder management subsystem allows the user to create a folder object for storing the report within the database, store the report within the folder object, and retrieve the report from the folder object using the GUI. A business information setup subsystem allows the user to create data types and create and constrain relationships between the data types. An analyst definition subsystem allows the user to select an analyst representing a method of analysis to use in generating the report using the GUI. Finally, a viewer module displays the report. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
______________________________________
.circle-solid. single program running
to Operating System (DOS, NT,
Windows 95)
.circle-solid. retrieve localization
to Operating System (DOS, NT,
Windows 95)
.circle-solid. connect to server
to Client/Server module
.circle-solid. disconnect from server
to Client/Server module
.circle-solid. authenticate user
to Metadata API
.circle-solid. run main menu
to Main Menu
.circle-solid. run admin menu
to System Administrator
Interface
______________________________________
If the user is the System Administrator, log-in module 50 displays System Administrator interface 57. If the user is a regular user, a Main menu and toolbar interface 51 are displayed. System Administrator interface 57 is used by a System Administrator to perform system administration tasks, such as making user-defined segments available globally and creating and editing Business Concepts. Interface 62 is preferably only available to System Administrators during system installation. Folder management subsystem 54 handles all functions related to manipulating, storing, and retrieving Folder hierarchies, and the Smart Reports and Agents that are stored in those Folders. It also handles querying from DAI subsystem 14 for newly-completed Smart Reports, both when client subsystem 12 starts up, and then periodically thereafter. Folder management subsystem 54 also handles User requests for operations on: Folders (new, delete, rename) Agents (edit, delete, run now, print) Smart Reports (view, delete, print ›in cooperation with the Smart Report View Window!) Each folder is represented by one folder object. A folder stores a list of child folders, a list of Smart Reports, and a list of Agents. Folder objects are created and deleted by folder management subsystem 54 in response to user requests. Business information setup subsystem 55 provides a user with the ability to create new measures, update measures, or delete existing measures. This information is sent to a Metadata API 60 and thereafter to DAI subsystem 14 for updating the user's Metadata 25. Business information setup subsystem 55 provides a user with the ability to create new Segments, update segments, or delete existing Segments. This information is sent to a Metadata API 60 and thereafter to DAI subsystem 14 for updating the user's Metadata 25. Finally, business information setup subsystem 55 provides a user with an interface to modify measure relations and to constrain measure relations. The user selects the current measure and whether to evaluate that measure's relationships when it increases or decrease. Then the user can then select from a list of other measures and define their relationship to the current measure. These relationships are in the form of "decreases", "increases", or "is unrelated to the current measure". Also, every relationship between two measures can be constrained. The relationship between measures and the constraints placed upon them are saved on computer 32 for use in generating Smart Reports. Analyst definition subsystem 56 handles all functions related to user selection of parameters needed to generate specific reports. It also allows the user to define and schedule Alerts for scheduled reports. The user may invoke an existing Analyst, delete one from within the folder management subsystem 54, or create a new Analyst. There are five types of Analysts are: Summarization Segment Comparison Measure Comparison Change Analysis Trend Analysis The Summarization Analyst requires the following user selection requirements: Analyst name Primary measure, other optional measures Primary segment, other segments Time segment The Segment Comparison Analyst requires the following user selection requirements: Analyst name Primary measure Primary segment, a comparison segment Time segment. The Measure Comparison Analyst requires the following user selection requirements: Analyst name Primary measure, Comparison measure Primary segment, other optional segments base time segment, comparison time segment. The Change Analysis Analyst requires the following user selection requirements: Analyst name Primary measure Primary segment, Other optional segments base time segment, comparison time segment. The Trend Analysis Analyst requires the following user selection requirements: Analyst name Primary measure Primary segment, other optional segments. Time segment, Time interval. The user is responsible for selecting one or more measures, a base period, and a comparison period. The user then can save, submit, and schedule the analyst definition. The user is restricted to choosing one Segment from within each Business Concept with the exception of Target Segment, in which case he may select only one segment and more than one child partition of the selected segment. The user may choose to schedule an Smart Report to be generated periodically. All Analyst Definition objects are scheduled. The user may modify an attached schedule. Used for exception monitoring, all analyst Definitions will have a trigger object attached to them. If a user decides not to have any triggers, a null trigger object will be attached to Analyst Definition Object. The Analyst definition subsystem 56 makes the following requests to the folder management subsystem 54:
______________________________________
Save Check if the user has
selected the appropriate
parameters for the selected
analyst. Send a request to
the folder management
subsystem 54 to save an
existing Analyst Definition
Save As Check if the user has
selected the appropriate
parameters for the selected
analyst. Send a request to
the folder management
subsystem 54 to save an
existing Analyst Definition
Submit Check if the user has
selected the appropriate
parameters for the selected
analyst. Send a request to
the folder management
subsystem 54 to submit a
report generation
______________________________________
The Analyst definition subsystem also makes the following requests to Metadata API 60:
______________________________________
Get all Measures The request will be made to
Metadata API 60 each time
there is a need for it at the
initialization point of a
dialog
Get all Business Concepts
The request will be made to
Metadata API 60 subsystem
each time there is a need for
it at the initialization
point of a dialog
Get a Business Concept's
The request will be made
Partitions depending on a user's
selection of a business
concept
Get Partitions The request will be made
depending on a user selection
of a defined Segment.
Get Segments The request will be made
depending on a user selection
of a partition.
______________________________________
Smart Report viewing subsystem 53 includes a "what-you-see-is-what-you-get" (WYSIWYG) browser which displays a selected Smart Report on screen, when Smart Report viewing subsystem 53 gets a notification from folder management subsystem 54 to view a Smart Report. If the user decides to drill down from the current Smart Report, Smart Report viewing subsystem 53 notifies the folder management subsystem 54 to send a new report request. When the user double-clicks on an Smart Report or chooses "menu item-View" from the File menu in the Inbox Manager, the folder management subsystem 54 notifies the Smart Report viewing subsystem to view the Smart Report. When the user clicks on a hypertext to drill down from the current Smart Report, the Smart Report viewing subsystem 53 passes the drill down information to the folder management subsystem 54 to send a new report request to DAI subsystem 14. Smart Report viewing subsystem 53 includes a parser which parses the Smart Report, which is in an HTML file. In an HTML file, HTML tags indicate document elements, structure, formatting, and hypertext linking to other documents or to included media. The parser then outputs all the information for display. The Smart Report viewing subsystem 53 allows a user to display and format text, tables, and graphs displayed by display 22 based on the information gathered by the parser. A header, a footer, and annotations can be added to a Smart Report. The user can save the viewed Smart Report. The user can also save an Smart Report as a HTML file in either UNICODE or ASCII code format. A saved HTML Smart Report can be attached to an e-mail to mail out. Any HTML version 3.0 browser can read the HTML Smart Report. The master schedule subsystem 52 allows the user to view the scheduling of all Smart Reports. It also allows the user to add or delete a schedule from an Analyst Definition. Master schedule subsystem 52 calls the folder management subsystem 54 to get a list of all the folders to be displayed. Then it displays in graphic form the scheduling of each Smart Report. The user can add, delete or modify a schedule and send a changed Report Definition Object back to folder management subsystem 54. concepts using metadata API 60. Metadata API 60 handles most of the communications between client subsystem 12 and DAI subsystem 14. These communications involve four basic types of data: metadata 25, Smart Reports, user profiles, and data warehouse schema. For metadata communication, Metadata API 60 provides the ability to add, delete and update metadata 25. For Smart Reports, Metadata API 60 provides the ability to request a report, get the status of a report, retrieve a report and cancel a report request. For user profiles, Metadata API 60 provides the ability to add a user, authenticate a user and delete a user. The communication for data warehouse schema is to retrieve it. Metadata API 60 allows a user to define new ways of looking at his business. A user cannot modify the segments that were created during installation. However, he can create new Business Indicators and new Segments. In a typical organization of users and system administrators, only system administrators can create or change business The MetaData API will handle the following requests from other client subsystems:
______________________________________
update metadata from Business Information
Setup subsystem 55
get report status
from Folder management
subsystem 54
generate report from Folder management
subsystem 54
retrieve report from Folder management
subsystem 54
retrieve schema from System Administrator
Interface 57
update schedule from Analyst Definition
subsystem 56
cancel a report from Analyst Definition
subsystem 56
authenticate user
from Log-in module 50
add a user from System Administrator
Interface 57
delete a user from System Administrator
Interface 57
update user password
from System Administrator
Interface 57
______________________________________
Metadata API 60 sends the following requests directly to DAI subsystem 14: disconnect from computer 32 send data to DAI subsystem 14 receive data from DAI subsystem 14 Turning now to FIG. 3, DAI subsystem 14 includes return area manager 70, Smart Report generator 72, metadata request module 74, metadata repository 76, and metadata load and update module 78. Metadata repository 76 contains a representation of metadata 25 within data warehouse 24. This metadata 25 is the core of system 10; it provides a customizable business view over the relational data in warehouse 24 and is the primary vocabulary for the specification of Smart Reports. Metadata repository 76 gets populated at startup time by DSM subsystem 16 from the persistent metadata representation in data warehouse 24. There are four fundamental kinds of metadata 25 in metadata repository 76, listed and described below: Business Concepts: business concepts represent the business dimensions along which the data can be viewed. Each dimension imposes a hierarchy over the underlying data, and dimensions can be combined to drive "drill-down" or "drill-up" operations. For example, a simple retail application might have two Business Concepts: Market and Product. The Market hierarchy is composed of Sales Regions, each of which consists of several States, each of which consists of a set of Stores. The Product Hierarchy is composed of a set of Departments (Home Electronics, Men's Clothing, Hardware), each Department is composed of product Categories (Shirts, Shoes, Slacks), and each Category is composed of individual manufacturer's product lines. Time is a Business Concept that is important in all applications, and will be represented in system 10. Users can add new Business Concepts (see below). These, as all of the metadata 25 in metadata repository 76, must be mapped into relational form (that is, into SQL) in order to actually query data warehouse 24. Mapping is done by DSM subsystem 16 during the process of processing Dimensional Queries (see below). Business Indicators: Business Indicators are the important measures of data of interest. For example, product Volume, Price, or Current Stock are all Business Indicators. The use of time in a query further refines the idea of a Business Indicator; for example, "Change in Volume" applies between two time periods. Alerts: Alerts are essentially tests over the data, stated in terms of Business Concepts and Business Indicators, and are typically used to generate Exception Monitoring Smart Reports. For example, a user might specify that if the available stock of a product falls by some percentage, to generate the appropriate Smart Report. The user also specifies how often to check the Alert condition. A list of Alerts is maintained by DAI subsystem 14 and executed by scheduler subsystem 18. This metadata 25 is also available to DAI subsystem 14 and is used to generate Smart Report information. Causal Indicators: Causal Indicators are simple expressions of business causality; for example, "Increased Sales mean Increased Profit". This kind of metadata 25 is used to generate supporting information for a Smart Report or, alternatively, alert the user to trends that run counter to the set of Causal Indicators. Metadata 25 is initially created during installation of the present invention at the customer's site. The process of creating the metadata 25 is illustrated in more detail in FIG. 7. What is included within metadata 25 depends on the industry (some metadata 25 will be industry-specific and usable by all companies in that industry), the specific customer of the present invention, and the structure of the customer's data warehouse 24. During installation, some industry-specific metadata 25 is used, some company specific metadata 25 may be created, and the mapping information needed to map metadata 25 to data warehouse 24 is created. All metadata 25, including the mapping information, is stored in a set of relational tables. These relational tables are kept in data warehouse 24 and used by the present invention to create reports for the user. Metadata request module 74 handles all requests for metadata 25, either from client subsystem 12 or DAI subsystem 14. Client subsystem 12 requests metadata 25 from DAI subsystem 14 to be presented to the end users. Smart Report generator 72 requests metadata 25 in order to create Dimensional Queries as part of instantiating a Smart Report for a user. A request for metadata 25 might be, for example, a request for all sub-concepts of a particular Business Concept. Metadata request module 74 also handles metadata updates from client subsystem 12. A user adds new Segments by specifying a new dimension from which to group the data. This dimension must be supported by an existing data attribute in the warehouse data. For example, a Product may include a List-Price and a Discount-Price. The user can specify a new dimension called "Discount-Factor", specified using the percent difference between the Discount-Price and the List-Price, and use that to create three new Segments: Heavily-Discounted Products, Slightly-Discounted Products, and Non-Discounted Products. These new Segments can now be used in subsequent Smart Report requests, and, if indicated by the user, made persistent by writing them back into data warehouse 24 by metadata load and update module 78. Request Structures are passed from one subsystem to another when one subsystem requires processing and results from another. Request Structures vary according to the type of request being sent. Most requests, however, have some common attributes, such as an identification field, an owner, a name and a description of the request. Request Structures primarily include Alert Evaluation Requests and Alert Update Requests. Alert Evaluation Requests are sent from client subsystem 12 to DAI subsystem 14. Alert Evaluation Requests are requests to evaluate an Alert condition to determine if it is true. The request has the following format: AE.sub.-- ID: ID which uniquely identifies this Alert Evaluation OWNER: The user who created this Alert Evaluation AE.sub.-- NAME: The name of this Alert Evaluation AE.sub.-- DESC: The description of this Alert Evaluation ALERT.sub.-- ID: The Alert which contains the condition for evaluation Alert Update Requests are sent from client subsystem 12 to DAI subsystem 14. This type of request is to schedule a new Alert. The request has the following format: ALERT.sub.-- ID: ID which uniquely identifies this Alert OWNER: The user who created this Alert ALERT.sub.-- NAME: The name of this Alert ALERT.sub.-- DESC: The description of this Alert SEG.sub.-- ID: A segment specified for this Alert BI.sub.-- ID: A Business Indicator specified for this Alert OP: The operator for this Alert THRESHOLD: The threshold value which triggers the Alert ENABLED: Specifies if the Alert is currently enabled or disabled START: The starting date for the Alert INTERVAL: How often should the Alert be checked Business Concept Update Requests are sent from client subsystem 12 to DAI subsystem 14 and are preferably issued only by the System Administrator. Business Concept Update Requests are requests for adding a new Business Concept to the metadata 25. The requests have the following format: BC.sub.-- ID: ID which uniquely identifies this Business Concept BC.sub.-- NAME: The name of this Business Concept BC.sub.-- DESC: The description of this Business Concept MAPPING: Mapping of this Business Concept to data warehouse tables Business Indicator Update Requests are sent from client subsystem 12 to DAI subsystem 14. Business Indicator Update Requests are requests for adding a new Business Indicator to the metadata 25. Business Indicator Update Requests primarily include primitive and compound requests. Primitive requests have the following format: BI.sub.-- ID: ID which uniquely identifies this Business Indicator OWNER: The user who created this Business Indicator BI.sub.-- NAME: The name of this Business Indicator BI.sub.-- DESC: The description of this Business Indicator MAPPING: Mapping of this Business Indicator to data warehouse tables ROLLUP.sub.-- OP: Operator for performing the roll-up operation Compound requests have the following format: BI.sub.-- ID: ID which uniquely identifies this Business Indicator BI.sub.-- NAME: The name of this Business Indicator BI.sub.-- DESC: The description of this Business Indicator EXP: The expression which describes this Business Indicator function Causal Indicator Update Requests are sent from client subsystem 12 to DAI subsystem 14. Causal Indicator Update Requests add a new Causal Indicator to the metadata 25. The request has the following format: CI.sub.-- ID: ID which uniquely identifies this Casual Indicator OWNER: The user who created this Causal Indicator CI.sub.-- NAME: The name of this Causal Indicator CI.sub.-- DESC: The description of this Causal Indicator BI.sub.-- ID1: Business Indicator which is the independent variable of this causal relationship OP: The operator for this causal relationship BI.sub.-- ID2: Business Indicator which is the dependent variable of this causal relationship RANGE: When OP is +/-, the range where it is+ and the range where it is- Schema Requests are sent from client subsystem 12 to DAI subsystem 14 and may only be issued by the System Administrator. Schema Requests are requests to retrieve the data base schema from data warehouse 24. This type of request is just a simple unformated message to DAI subsystem 14. Segment Update Requests are sent from client subsystem 12 to DAI subsystem 14. Segment Update Requests are requests for adding a new Segment to the metadata 25. Segment Update Requests have the following format: SEG.sub.-- ID: ID which uniquely identifies this Segment OWNER: The user who created this Segment SEG.sub.-- NAME: The name of this Segment SEG.sub.-- DESC: The description of this Segment SEG.sub.-- LEVEL: Level in the Segment Hierarchy of this Segment BC.sub.-- ID: The Business Concept for this Segment ATTR.sub.-- ID: The Attribute(s) for this Segment OP: The operator(s) for this Segment VALUE: The value (s) for this Segment Smart Report Requests are sent from the Client subsystem to the DAI subsystem. This type of request is to create a new Smart Report based on user specified selections. The request has the following format: SR.sub.-- ID: ID which uniquely identifies this Smart Report OWNER: The user who created this Smart Report SR.sub.-- NAME: The name of this Smart Report SR.sub.-- DESC: The description of this Smart Report SR.sub.-- TYPE: One of the four types of Smart Reports BC.sub.-- ID: The Business Concept for this Smart Report SEG.sub.-- ID: The Segment(s) for this Smart Report TIME: The time interval(s) for this Smart Report Dimensional Queries are sent from DAI subsystem 14 to DSM subsystem 16. Dimensional Queries formulate requests for data from data warehouse 24. DSM subsystem 16 converts Dimensional Queries into SQL statements. A Dimensional Query conforms to the following format:
______________________________________
dq concept.sub.-- list `;` indicator `;` time
concept CONCEPT.sub.-- NAME `:` SEGMENT.sub.-- NAME
concept.sub.-- list
concept
concept.sub.-- list `,` concept
indicator INDICATOR.sub.-- NAME
time INTERVAL.sub.-- NAME
______________________________________
Client subsystem 12 produces the following outputs to DAI subsystem 14: Alert Evaluation Requests Alert Update Requests Business Concept Update Requests Business Indicator Update Requests Causal Indicator Update Requests Schema Requests Segment Update Requests Smart Report Requests Cancel Requests DAI subsystem 14 provides the following outputs to client subsystem 12: Alert Evaluation Structures Alert Structures Business Concept Structures Business Indicator Structures Causal Indicator Structures Schema Structures Segment Structures Smart Reports Retrieve Alert Evaluations Requests Retrieve Smart Reports Requests Error/Status Codes DAI subsystem 14 provides the following outputs to scheduler subsystem 18: Alert Evaluation Lists Scheduled Smart Report Lists Alert Evaluation Structures Smart Reports Retrieve Alert Evaluations Requests Retrieve Smart Reports Requests DAI subsystem 14 provides the following outputs to DSM subsystem 16: Dimensional Queries Metadata Retrieval Requests DSM subsystem 16 provides the following outputs to DAI subsystem 14: Updated Metadata Data from the Data Warehouse DSM subsystem 16 provides the following outputs to data warehouse 24: SQL Statements DSM subsystem 16 receives the following inputs from data warehouse 24: Metadata Database Schema Warehouse Data Scheduler 18 provides the following outputs to DAI subsystem 14: Alert Evaluation Requests Smart Report Requests Metadata load and update module 78 populates metadata repository 76 from the persistent metadata stored in data warehouse 24 upon system startup. In addition, when a user specifies new Business Concepts and indicates that he wants them saved, metadata load and update module 78 writes them back into data warehouse 24 for future use. Smart Report generator 72 fulfills the primary purpose of DAI subsystem 14. Report generation begins when a user chooses a Smart Report and an appropriate set of parameters in client subsystem 12. This Smart Report Request is used to first fetch a System Template. A System Template consists of a set of Abstract Queries. An Abstract Query contains placeholders for Business Concepts and Business Indicators that are filled in with the user selections in the process of instantiation, as well as conditions that are evaluated to generate different output and actual layout information. The output of the Report Generation process is a fully instantiated Smart Report returned to client subsystem 12 in the form of HyperText Markup Language (HTML), a widely-used standard for building WYSIWYG compound documents. Smart Report generator 72 has several kinds of knowledge: Knowledge of how to map Abstract Queries into Dimensional Queries Knowledge of how to use metadata 25 to generate default choices (choices not made by the user in the Smart Report Request) Knowledge of how to use both metadata 25 and data returned from the warehouse to guide the selection of both text components Knowledge of how to use both metadata 25 and data returned from the warehouse to guide the selection of different types of graphical presentations. For example, the Summary Smart Report may take as arguments a Business Concept, a Business Indicator, and a time period. It may also contain an Abstract Query that says "Retrieve the Target-Business-Indicator for the Target-Concept at the Target-Time-Period. The Report Generation Module uses the user selected parameters, for example, the Business Concept "Product", the Business Concept Segment "Men's Shirts", the Business Indicator "Volume", and the time period "December 1994" to create a Dimensional Query. This Dimensional Query is sent to the Data and Schema Manipulation subsystem, which translates this query into SQL and actually executes it. It returns the computed data to DAI subsystem 14, where other Abstract Queries might embed the actual number in a bullet. Other Abstract Queries have conditionals associated with them. To build off the previous example, another part of the summary System Template might specify the creation of a graph, showing how the target-business-indicator (volume) is apportioned among the segments of the target-business-concept (shirts). In this case, report generator 72 makes a metadata request to return the set of segments, in this example, the dimension that specifies the shirt manufacturer. All volume information is requested for each manufacturer of shirts. Now, additional information guides report generator 72 in the selection of a choice of graph. For example, if the number of segments (manufacturers in this case) is small, like 7 or less, then a pie graph is appropriate, otherwise, a bar graph is preferred. If the number of segments is very large, then aggregate the bottom 20 percent (in terms of the Business Indicator, in this case, Volume) and use that aggregate with the label "Other" in the graph. Return area manager 70 keeps track of Smart Reports and Alert Evaluations with positive results by user that are waiting for delivery to client subsystem 12. When a user logs into system 10, client subsystem 12 issues a request to DAI subsystem 14 to return all data for that user in the return area. Return area manager 70 retrieves the information from the return area on server computer 32 and sends it back to client computer 30 through DAI subsystem 14. Turning now to FIG. 4, DSM subsystem 16 includes SQL generator 80 and metadata query module 82. SQL generator 80 translates dimensional queries received from DAI subsystem 14 into SQL statements used to retrieve data from data warehouse 24. A mapping from business concepts to database entities is stored in the metadata 25 and is used in the formatting of the SQL statements. SQL generator 80 provides to DAI subsystem 14 for use in creating Smart Reports. Metadata query generator 82 processes requests for metadata 25 submitted by DAI subsystem 14. At system startup, DAI subsystem 14 requests all metadata 25 in order to initialize the knowledge base. Metadata query generator 82 is also invoked whenever the user modifies his Segments, causing DAI subsystem 14 to issue an update metadata request. Turning now to FIG. 5, scheduler subsystem 18 includes alert and report scheduler 90 schedules processes to run at user specified times of day and at user specified intervals which are selected at system installation time by the System Administrator. Alert and report scheduler 90 issues Smart Report requests to DAI subsystem 14 for all batch-scheduled Smart Reports. Alert and report scheduler 90 also issues Alert Evaluation Requests to DAI subsystem 14 when it runs. If the Alert Evaluation condition is true, the user will be notified the next time he logs into system 10. Turning now to FIGS. 6-12, client subsystem 12 and its operation are illustrated in more detail. Client subsystem 12 includes a primary overlay 98 which appears when client subsystem 12 is executed. Overlay 98 includes three display areas 100-104 within a common Folders window, pull-down menus 106, and buttons 110-120. The Folders window may be maximized (as it is shown in FIG. 6) to eliminate its borders, resized, or minimized as an icon within client subsystem 12. The Folders window cannot be closed. Display area 100 contains a list of folders, which represent the metaphor used by client subsystem 12 in organizing Smart Reports and the analysis that creates them. A folder is opened by highlighting it and selecting it with input device 21. The first folder in the list is opened by default when client subsystem 12 is executed. Display area 102 contains a list of Smart Reports within a selected folder. A Smart Report may be viewed by highlighting it and selecting it with input device 21. An Analysis window 136 appears containing the Smart Report. The title bar of the window indicates the type of preselected analysis that has been performed. For example, in FIG. 12, "change" analysis was preselected by a user to be the type of analysis to run. The Analysis window 136 may be maximized (as it is shown in FIG. 12) to eliminate its borders, resized, or minimized as an icon within client subsystem 12. The Analysis window 136 may be closed by selecting button 124 (FIG. 12) or by a manner well known to users of Windows 3.1 and other windows operating environments. Display area 104 contains a list of Analysts within a selected folder. An Analyst is a personification of preselected operations performed on preselected data for the purpose of generating a Smart Report. An Analyst may be viewed by highlighting it and selecting it with input device 21. An Analyst Builder window 130 (FIG. 7) appears containing the preselected settings saved within the Analyst and used to generate the corresponding Smart Report listed in display area 102. (The Smart Reports listed in display area 102 are arranged in the same order as the Analysts listed in display area 104, and have the same titles as the corresponding Analysts). The Analyst Builder window 130 may be not be maximized, resized, or minimized as an icon; it may only be closed in a manner well known to users of Windows 3.1 and other windows operating environments. Buttons 110-122 (FIG. 6) implement the primary operational commands within pull-down menus 106 and are activated using a pointing device. Button 110 calls the Analyst Builder window 130 (FIG. 7). Button 112 calls a Segments divider within a Business Information Setup window 132 (FIG. 8). Button 114 calls a Schedule window 134 (FIG. 11). Button 116 deletes a selected file or folder within display areas 100-104. Button 118 creates a new folder. Button 120 calls the Analysis window 136 with a selected Smart Report from display area 102. Button 124 closes client subsystem 12. Button 126 (FIG. 12) closes the Analysis window 136. Button 128 (FIG. 12) causes a previous Smart Report to be displayed. With reference to FIG. 7, Analyst Builder window 130 allows a user to define how selected data is analyzed. An Analyst is named under the Analyst Name field. A type of analysis is chosen under the Type of Analysis field. A primary measure to be used in implementing the analysis is chosen under the Primary Measure field. Segments to be reported on are chosen from the list of Defined Segments. Finally, a period for the Smart Report is defined under the Time Slice Considered fields. A Smart Report can be created immediately by selecting the Report Now button, or can be scheduled as part of a batch of Smart Reports by selecting the Schedule Analyst button. With reference to FIG. 8, the Segments divider within the Business Information Setup window 132 allows Segments to be created, modified, or deleted. A description of the segment appears in the Description field. With reference to FIG. 9, Measures of information may be created and modified within the. Measures divider of the Business Information Setup window 132. A name for each Measure appears in the Measure Name field. A definition of a Measure appears in the Definition field. Mathematical operators, Time Slice constraints, Segment constraints, and constraints from other Measures may be inserted into the Definition using the corresponding buttons below the Definition field. With reference to FIG. 10, Measure relationships may be defined and modified within the Measure Relations divider of the Business Information Setup window 132. Measure relationships are defined in terms of an if-then statement. A primary measure and whether it increases or decreases is selected in the Measure field, which represents the "If" part of the If-Then statement. Measures within the Unrelated field may be moved to either the Decreases field or the Increases field to form the "Then" part of the If-Then statement. With reference to FIG. 11, production of Smart Reports and Alerts may be scheduled using the Schedule window 134. A batch of Smart Reports may be individually scheduled for automatic production. Scheduling of Smart Reports is particularly useful to those users that require periodic Smart Reports. Smart Report time intervals may be selected under the Time Interval field, which provides daily, weekly, and monthly reporting options. With reference to FIG. 12, a sample Smart Report is shown within Analysis window 136. The type of analysis performed is indicated in the Smart Report and in the title bar as "Change Analysis". The Segment (previously defined within the Segments divider of the Business Information Setup window 132) is "Store Ages Greater than 3 Years". The Measure (previously define within the Measures divider of the Business Information Setup window 132) is "Same Store Sales". The Time Slice (previously defined in the Time Slice Considered fields of the Analyst Builder window 130) is "Year to date 1995 vs. Last Year". The Smart Report provides a concise statement of changes that have occurred in the Primary Measure, Same Store Sales, and changes that have occurred in Measures related to the Same Store Sales, Stores Remodeled, and previously defined within the Measure Relations divider of the Business Information Setup window 132. The Smart Report then contains an explanation, including a graph, for the change in the Primary Measure, Same Store Sales. Smart Report may include multiple instances of HTML associated with a Measure, representing hyperlinks to text data or graphic data representing the results of the Measure. Turning now to FIG. 13, a method for creating metadata 25 using client subsystem 12 is illustrated beginning with START 140. In step 141, the user specifies a Business Concept. In step 142, the user specifies one or more attributes for the Business Concept. In step 144, client subsystem 12 provides the user with the list of columns of tables in data warehouse 24. In step 146, the user maps every attribute to a column. The user can provide a textual description of the business concepts and the attributes. In step 148, the user specifies one or more Business indicators by "mapping" a Business Indicator to a column in a table within data warehouse 24. In step 150, client subsystem 12 provides the user with a list of columns for the purpose of mapping Business Indicators as well. In step 152, user selects an "aggregate method" for the Business Indicator that is mapped, which specifies how values for the Business Indicator are aggregated. The system supports the following aggregate methods: Add Average Min Max Count Last in period First in period In step 154, the user selects the unit of measurement, and specifies whether the Business Indicator is a currency. The user can optionally specify a plural form of the Business Indicator, a verb to describe change in the value of the Business Indicator, the precision for reporting the Business Indicator and a textual description of the Business Indicator. In step 156, client subsystem 12 ensures that tables having Business Indicator columns can be joined with tables that have Business Attribute columns. In step 158, client subsystem 12 determines whether the user wishes to enter additional Business Concepts. If so, the method returns to step 142. If not, the method ends at step 160. Although the present invention has been described with particular reference to certain preferred embodiments thereof, variations and modifications of the present invention can be effected within the spirit and scope of the following claims.
|
Same subclass Same class Consider this |
||||||||||
