Abstract:
A system, method and machine readable medium for the analysis and management of information is described. More specifically, the embodiments o relate to systems and methods for gathering, analyzing and reporting information in a business context. More specifically, the embodiments relate to systems and methods for presenting business metrics to system users in a reliable and efficient manner, including the employment of a data extractor and multiple data storage units arranged to generate reports.

Description:
BACKGROUND 
     The present application relates generally to the field of the analysis and management of information. More specifically, exemplary embodiments relate to systems and methods for gathering, analyzing and reporting information in a business context. More specifically, certain exemplary embodiments relate to systems and methods for presenting business metrics to system users in a reliable and efficient manner. 
     There have been developed over the past several decades software and hardware based systems for monitoring and administering business processes. These processes can include all aspects of a business, including inventory and supply chain management, business financing, personnel management, etc. These systems are sometimes called enterprise resource planning systems. Information generated and stored by enterprise resource planning systems can be extremely useful as “business intelligence”. It has been a task of business systems designers to help the right information be provided to the right people at the right time. 
     A business system may provide different metrics to a system user, which may also be called “aggregate data”. One example of such a metric involves the moving average price of products used by a business. If the moving average price of a business raw material exceeds a certain price, for example, it may be indicative of supply problems. The moving average price is also used for inventory revaluation. There is thus a need to develop systems and methods for evaluating the moving average price and other business metrics in a reliable and efficient fashion. There is further a need to recognize exceptional deviations from the standard business metrics and to quickly identify the underlying data that led to the deviation condition. 
     SUMMARY OF THE INVENTION 
     One aspect of the embodiments relates to a system for monitoring a data metric, comprising: a plurality of records relating to a data metric; a database for storing at least a portion of information from at least one of the plurality of records relating to a data metric; an extractor for querying the database for database data relevant to the data metric within a particular time frame and providing query results to a first data storage unit and a second data storage unit; wherein the first and second data storage units are used to generate first and second reports regarding the data metric. 
     A second aspect of the embodiments relates to a method for allowing monitoring of a data metric, comprising: scanning a plurality of records to determine those related to a data metric; storing information from at least some of the plurality of records in a database; extracting via a query information from the database related to the data metric; providing the query information to a first data storage unit and a second data storage unit; generating a report using the first data storage unit; and generating a report using the second data storage unit. 
     Another aspect of the embodiments relates to a machine readable medium with executable program code embedded therein, the code when executed performing a method, comprising: scanning a plurality of records to determine those related to a data metric; storing information from at least some of the plurality of records in a database; extracting via a query information from the database related to the data metric; providing the query information to a first data storage unit and a second data storage unit; generating a report using the first data storage unit; and generating a report using the second data storage unit. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a business process. 
         FIG. 2  depicts an enterprise resource planning part of a system as contemplated in an exemplary embodiment. 
         FIG. 3  depicts a reporting unit of enterprise resource planning part of a system as contemplated in an exemplary embodiment. 
         FIG. 4  depicts an overall system as contemplated in an exemplary embodiment. 
         FIG. 5  is a flow chart showing the steps of part of a method embodiment. 
         FIG. 6  is an information flow chart depicting information flow in method and system embodiments. 
         FIG. 7  shows exemplary data statements of embodiments. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The various embodiments of the invention will be described in further detail with reference to the Figures, of which  FIG. 1  represents a business process as depicted by the arrow  100 . Arrow  100  shows the process progressing in time. At various points in time, the process uses or generates records  102 ,  104 ,  106  and  108 . Some of the records associated with a business process, and in  FIG. 1  each of the records  102  through  108  has information which is relevant to a particular business metric, for example, the moving average price of a raw material. In  FIG. 1 , the relevant portions of the records are shown using dashed boxes. If the relevant portions of the records  102  through  108  are extracted (as shown in  FIG. 1  with arrows  112 ,  114 ,  116  and  118 ), they can be stored in a manner  110  that will facilitate the reporting and recognition of trends in critical data for the business process. 
     With reference to  FIG. 2 , a system  200  according to an embodiment is shown, which system accomplishes the objectives described above. The system  200  comprises an enterprise resource planning (ERP) system  202 , for example as a software system available from SAP AG. The ERP system  202  is a system used to monitor and control financial, human resource, business and/or corporate processes. In a preferred embodiment, system  202  is implemented on a computing platform or a network of computing platforms. 
     The ERP system  202  exists within a business environment with various business units or installations  204 ,  206 ,  208  and  210 . Each unit or installation generates or receives records  212 ,  214 ,  216 ,  218 . The records may be invoices, sales records, records of inventory management, records of price changes, etc. Units  204 ,  206 ,  208 , and  210  can be remote from each other or located near each other. Units  204 ,  206 ,  208  and  210  can be connected via a private or public computer network. Alternatively, units  204 ,  206 ,  208  and  210  are not connected and data can be collected by other means. 
     In order to monitor the progress of particular business metrics, for example the moving average price of a particular item, the ERP system  202  is equipped by means of a report to seek out those particular business records that are relevant to the particular metric. For example, for the calculation of a moving average price, an ERP system  202  might seek out inventory management records, sales price revaluation records, price change records and invoice records from among records  212  through  218 . It should be understood that each business unit or installation  204  through  210  can generate a variety of different records. 
     Each relevant record is transmitted to the ERP system  202  as indicated by arrows  222 ,  224 ,  226  and  228 . The record may be distilled into a data statement, comprising, by way of example, the date of the record, a record identifier that serves as a key, price and quantity data. The data statements are stored by the ERP, for example in a transparent database table. 
     The distillation and storage of record information is shown in  FIG. 3 .  FIG. 3  shows a report unit  300  of ERP system, which may be implemented as an executable program or a batch job. Report unit  300  has access to a transparent database table  302  having row entries further comprising data statements. It should be clear that any appropriate database structure may be used. At periodic intervals, for example, once per day, records  304 ,  306 ,  308  and  310  are sought out and distilled by the report  300  into data sentences as indicated by arrows  316 ,  318 ,  320  and  322 , which indicate the flow of information into table  302 , not into any particular row. The report also gathers relevant information regarding, for example from other relevant business information systems  312  and  314 , which may be, for example, inventory management systems. 
     With the data obtained from records  304  through  310  and business information systems  312  and  314 , the report  300  precalculates business metrics, for example, a moving average price of goods, as well as inventory quantities and inventory values. These are stored as part of the transparent table  302  accessible to the report. Each data sentence is also given a time-stamp. 
     With reference to  FIG. 4 , an overall business intelligence system  400  comprising an ERP system  404  and a business intelligence warehousing (BW) system  402 , such as that offered by SAP AG, is depicted. The ERP system  404  further comprises a database table  406  that is used to store information generated by report  300 . The table  406  may be the same as table  302 , or it may be a different table. ERP system  404  also comprises an extractor application  408  that communicates, as shown by arrows  410 , with table  406  to generate data statements relevant to a particular time period. The extractor  408  uses the time stamp provided to the data sentences in order to pass data statements to an information source  412 , which can be, for example, an InfoSource as used by SAP AG. 
     InfoSource  412  acts as a data source within the BW system  402  to two data targets: InfoCube  414  and Operational Data Store (ODS) Object  416 . The InfoCube  414  is a multi-dimensional database structure optimized for fast querying. InfoCube  414  holds only the data statements for which the target business metric exceeds a threshold value, or in the event of a minimum threshold, is below the minimum. For example, if the moving average price is the target metric, the InfoCube  414  will store only those data statements for which the moving average price for a particular product exceeds or, in the event of a minimum, is below a particular customer defined threshold. ODS Object  416 , on the other hand stores detailed information, such that a more comprehensive analysis of the data can be performed when required by the customer. 
     InfoCube  414  and ODS object  416  are linked over an interface  418 , the function of which is to bring together more than one data stream for the purpose of generating a report. The interface  418  may be, for example, a MultiProvider from the SAP AG. 
     In the detailed analysis ODS object  416 , all data statements delivered by the Extractor are saved. Both data targets have as the lowest level of granularity Location/Article/Document Nr/Day. The Exception Reporting InfoCube  414  can be emptied as soon as the deviation is analyzed and no longer needed. The Detailed Analysis ODS object  416  should not be stored for longer than an appropriate period, for example two months. Then a new ODS Object should be constructed and, as soon as the information out of the previous ODS object  416  is no longer needed, it can be archived. 
     The BW system  402  generates two reports  420  and  422  for system users. The report  420  is an exception report, and represents a summary of all instances where the targeted business metric exceeded or, in the event of a minimum, was below the corresponding threshold. These are the “alert values” of the report  402 . The data in report  402  also includes the most important documents which formed the basis for the alert values of the metric. For the case of a moving average price report, information about the corresponding inventory, the inventory values and the moving average price is also displayed. Report  422  represents a more detailed report based on all information provided by the ERP system  404 , and displays material/location combinations. 
       FIG. 5  represents a flow chart of the reporting methods of an embodiment of the present invention. At step  500 , the ERP system report receives as its input the current date. At step  502 , the ERP system report scans system records for relevant transactional data. This data is distilled and converted to database table entries at step  504 . Also at step  504 , the report may precalculate the target business metric and other relevant information. Database entries are time stamped and the time stamp is recorded at step  506 . The time stamp serves to identify an approximate record validity time frame. At step  508 , data is read from the table according to its time stamp for further processing. 
       FIG. 6  represents the flow of extracted information. At point  600 , the extractor selects data from the storage table and provides the data to an interface, which may be an InfoSource within a BW system. At step  602 , the InfoSource provides the data to at least two data targets, which may be an InfoCube and an analysis engine or ODS object. As shown at point  604 , the InfoSource provides a full set of data statements to both the InfoCube and the analysis engine or ODS object. The data at  604  contains data statements  620  and  622  that have business metric values that exceed or, in the event of a minimum threshold, are below the given threshold. 
     Turning now to  FIG. 7 , an exemplary data table  700  is shown with data statements  702 ,  704 ,  706  and  708 . Each data statement comprises an article number, a location, an inventory quantity, a record number, a day and a field indicating the extent to which a particular criterion was exceeded. 
     Returning now to  FIG. 6 , the analysis engine or ODS object at point  606  keeps the entire data set (shown at  608 ). The InfoCube, however, is provided with a filter active at point  614 . The filter active at point  614  filters out all statements where the threshold is not exceeded or, in the event of a minimum threshold, not reached. For example, in the case of moving average price reporting, the filter will reject all statements where the absolute value of the difference between the current moving average price and the prior moving average price does not exceed a given value. The resulting data storage at  616  in the InfoCube has only data statements  624  and  626 , which correspond to statements  620  and  622 . This enhances the speed at which the InfoCube can perform exception reporting, while allowing more detailed analyses to be performed by means of the analysis engine or ODS object. 
     The InfoCube for the daily reporting can comprise, for example, only those statements for which the deviation of the prior metric from the newest metric exceed a threshold to be defined by a system user. The InfoCube contains relatively few data statements, thus facilitating high-performance reporting. The ODS object for the detailed analysis comprises all statements delivered by the extractor. This is preferred in case it is desirable to analyze, for an exceptional metric, all other documents for a day, to, for example, display the development of the metric over a certain time period. 
     Due to the potentially large volumes of information transmitted to the analysis engine, it is beneficial to precalculate report parameters at point  610  prior to reporting at  612 . This alleviates the calculation burden associated with massive amounts of data and can improve the appearance of system performance to the user. 
     The user may receive an exception report at point  618 . If the exception report warrants it, the user may view more detailed reporting at point  612 . The more detailed reporting is based on all data passed to the InfoSource, and can thus show exceptions in context. The detailed reporting can, for example, show the change over time of the business metric. 
     The results of the analysis itself should provide, along with adequate information regarding evidence that lead to the alert values of the average moving price, information regarding the corresponding inventory elements, the inventory values and the average moving price.