US20080162210A1 - Configurable goals in a dashborad application - Google Patents
Configurable goals in a dashborad application Download PDFInfo
- Publication number
- US20080162210A1 US20080162210A1 US11/746,216 US74621607A US2008162210A1 US 20080162210 A1 US20080162210 A1 US 20080162210A1 US 74621607 A US74621607 A US 74621607A US 2008162210 A1 US2008162210 A1 US 2008162210A1
- Authority
- US
- United States
- Prior art keywords
- data
- metric
- user
- goal
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q10/06375—Prediction of business process outcome or impact based on a proposed change
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06395—Quality analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Definitions
- the present invention relates generally to providing information to computer users, and in particular to accessing data from business applications and providing that data in an organized manner.
- business applications can include, without limitation, customer relations management (“CRM”) applications, enterprise resource planning (“ERP”) applications, supply chain management applications, and other applications dealing with various finance, accounting, manufacturing, and/or distribution functions, to name but a few examples.
- CRM customer relations management
- ERP enterprise resource planning
- Exemplary enterprise application suites include, without limitation, the Oracle eBusiness Suite and JD Edwards Enterprise One, both of which are available from Oracle Corp.
- business applications To maximize the utility of a business application, users need to have visibility into the business processes managed by the business application, to monitor the health (e.g., the efficiency, operational status) of various business processes, and of the enterprise itself.
- Business applications typically are more focused on managing the business processes (for example, acquiring, generating and processing business data) than on providing immediate visibility into the health of those business processes.
- the present invention provides a dashboard application, which can enable a user to quickly view data (and, in a particular aspect, data from one or more business applications) in an efficient manner.
- the dashboard application can be used to view data about one or more metrics that reflect the performance of business operations(s), as derived from data maintained (perhaps in an associated data store) by the business application(s).
- the dashboard application can allow the user to set goals for various metrics, and/or can provide alerts if those goals are not being met.
- a user might set an overall goal for a metric.
- the dashboard application then might, use that overall goal to generate dynamic goals for subsets of the data comprising the metric, for instance, by interpolating from the overall goal based on a relationship between the overall data set and the subset of the data being viewed.
- the dashboard application might also allow the user to set goals that override these dynamic goals for particular data subsets.
- the dashboard application might also be configured to aggregate one or more dynamic goals and/or to compare this aggregate goal with the relevant aggregated data to determine whether the aggregate goal is being met.
- a method might comprise one or more procedures, any or all of which are executed by a computer system.
- an embodiment might comprise a computer system configured with instructions to perform one or more procedures in accordance with methods of the invention.
- a computer program might comprise a set of instructions that are executable by a computer system (and/or a processor therein) to perform such operations.
- such software programs are encoded on physical and/or tangible computer readable media (such as, merely by way of example, optical media, magnetic media, and/or the like).
- the set of instructions might be incorporated within a business application.
- a method in accordance with one set of embodiments might comprise accessing a set of data produced by one or more business applications.
- the data is stored in a data store (which might be maintained by the business application).
- the method might further comprise providing a dashboard application, which, in an aspect, is configured to display at least some of the set of data, which, in some cases, pertains to a metric that measures an identified business objective.
- the dashboard application might comprise a visible component, and the method might comprise displaying at least some of the set of data.
- the method further comprises providing an interface to allow a user to define a goal for the metric.
- the goal can identify a threshold value for the metric.
- the method then, might comprise triggering an alert when the metric does not attain the goal.
- An exemplary computer system in accordance with another set of embodiments might comprise a processor, a communication interface and/or a computer readable medium.
- the computer readable medium might comprise (i.e., have stored thereon) a set of instructions executable by the processor.
- the set of instructions might include instructions to perform various procedures of methods of the invention.
- the computer system might comprise a server computer (e.g., a web server), which might be in communication with a client computer (which might include a web browser and/or a dedicated client application, etc.) to display information for a user and/or receive input from the user.
- FIG. 1 is a block diagram illustrating a computer system employing a dashboard application, in accordance with various embodiments of the invention.
- FIG. 2A is screen capture diagram illustrating a metric summary screen from a dashboard application, in accordance with various embodiments of the invention.
- FIG. 2B is screen capture diagram illustrating a metric detail screen from a dashboard application, in accordance with various embodiments of the invention.
- FIG. 3 is a flow diagram illustrating a method of displaying data using a display hierarchy, in accordance with various embodiments of the invention.
- FIG. 4 is a flow diagram illustrating a method of generating a display hierarchy, in accordance with various embodiments of the invention.
- FIG. 5 is a flow diagram illustrating a method of configuring a metric summary screen in a dashboard application, in accordance with various embodiments of the invention.
- FIG. 6 is screen capture diagram illustrating a metric group configuration interface from a dashboard application, in accordance with various embodiments of the invention.
- FIG. 7 is a flow diagram illustrating a method of generating actions in a dashboard application, in accordance with various embodiments of the invention.
- FIG. 8 is a flow diagram illustrating a method of generating alerts in a dashboard application, in accordance with various embodiments of the invention.
- FIG. 9 is a generalized block diagram illustrating a computer system that can be used in various embodiments of the invention.
- FIG. 10 is a generalized block diagram illustrating a networked system that can be used in various embodiments of the invention.
- Embodiments of the invention provide a dashboard application, which interacts both with one or more business applications (and/or the data produced by those applications) and with a user.
- the dashboard application provides an easy-to-use facility for a user to view data about various business metrics without having to actually interact with the business applications themselves.
- business applications including without limitation, customer relations management applications, enterprise resource planning applications, warehouse management systems, supply chain management applications, human resources applications, business analytics applications, sales applications, and the like.
- Several vendors provide comprehensive packages of business applications.
- the dashboard application provides an interface between the data produced by such business application (and/or the applications themselves) and a user.
- a Plant Manager DashboardTM application might provide an interface for a plant manager to view a set of metrics associated with the performance of one or more manufacturing plants.
- a metric will be derived from data produced by one or more business applications, while in other cases, a metric might simply comprise such data.
- data produced by a business application will normally take the form of a number of records (e.g., database records). Each of those records will comprise a plurality of data elements having a value, and each of the data elements will have an associated dimension. In some cases, these records and/or data elements might provide a metric themselves. In other cases, the metric might be derived from a collection of a plurality of records (and/or the data elements therein).
- metric means any value that is used to measure the performance of a particular business process. Examples include the number of orders fulfilled, number of products produced, accounts receivable aging, and/or the like. In many cases, a metric will have two or more dimensions, and in some cases, a metric will have a large number of dimensions. In a sense, dimensions provide various perspectives from which a metric can be viewed. Merely by way of example, a metric measuring the number of products produced might have a time dimension (e.g., the number of products produced over a particular week, month, quarter, year, etc.) as well as a plant dimension (e.g., the number of products produced in Plant A, number of products produced in Plant B, etc.). In a set of embodiments, the dashboard application provides a way for users to explore metrics in the dimensions that are of the greatest interest.
- time dimension e.g., the number of products produced over a particular week, month, quarter, year, etc.
- a plant dimension e.g., the number
- the dashboard application of the present invention provides flexibility in viewing metrics (and/or information about those metrics) by implementing a display hierarchy.
- the display hierarchy can be used to “drill down” into a metric (and/or the data from which the metric is derived) by filtering the data according to one or more dimensions.
- the hierarchy can also be used to categorize the data according to one or more view criteria (which might also be dimensions).
- a display hierarchy can be multi-dimensional.
- a particular hierarchy for a metric measuring items produced might have, at its topmost level, a time dimension (e.g., years).
- the second level in the hierarchy might be a plant location dimension, while the third level might be a product family dimension.
- a variant can be thought of as a particular way to view (and/or drill down into) a metric.
- a number of default variants might be provided for viewing data.
- the user might be provided with a facility to create user-defined metrics.
- a combination of default variants and user-defined variants might be employed.
- FIG. 1 depicts a system 100 that illustrates a typical relationship between a dashboard application 105 , a client computer 110 and one or more business applications 115 .
- the dashboard application 105 includes a data interface 120 (which can be thought of as a communication component) for communicating with business applications 115 and/or with one or more data stores 125 .
- the data store(s) 125 (which, in many cases, are databases managed by a relational database management system, such as Oracle 10gTM might be maintained by the business applications 115 and/or might store data produced by the business applications 115 .
- a single data store 125 might store data associated with multiple business applications 115 a , 115 b . In other cases, each business application 115 might have its own data store 125 .
- the dashboard application 105 can be in communication with any number of data stores 125 , as necessary.
- the data store 125 might comprise a data warehouse, such as a data warehouse managed by Oracle Warehouse BuilderTM.
- the data interface 120 might comprise an application programming interface for communicating with the data store 125 and/or business applications 115 .
- the data interface 120 might include a database access component, a web service broker and/or the like.
- Many inter-application and/or database communication facilities are known in the art, and any of such facilities can be employed by the data interface 120 .
- the dashboard application 105 also includes a client interface 130 for providing communication between the dashboard application and a client computer 110 (and/or a user thereof).
- the client computer might comprise an application 135 for communicating with the dashboard application 105 (e.g., via the client interface 130 ).
- the client interface 130 might comprise a web server (which might be part of the dashboard application 105 and/or separate from the dashboard application 105 ).
- the application 135 might be a web browser 135 , which can communicate with the client interface 130 via standard web communications protocols (e.g., HTTP, etc.), and the displays, user interfaces, and/or input mechanisms produced by the dashboard application 105 might be presented to the user as web pages, web-based forms, Java applications and/or applets, portlets, and/or the like. In other embodiments, however, such displays might comprises windows in a dedicated application, etc.
- standard web communications protocols e.g., HTTP, etc.
- the dashboard application 105 might be incorporated within one or more of the business applications 115 .
- the client interface 130 might be a standalone program separate from the dashboard application 105 (and, in fact, might reside on a different computer).
- the dashboard application 105 resides on a server computer (such as one of those described below, for example).
- the dashboard application (and/or a portion thereof) might reside on the client computer 110 , such that the user does not have to contact a separate server to use the dashboard application.
- the various functional arrangements between the dashboard application 105 , business applications 115 , data store 125 , and client computer 110 are virtually unlimited, and embodiments of the invention are not limited to any particular structural implementation.
- the dashboard application might provide a summary screen and/or one or more detail screens.
- FIG. 2A illustrates an exemplary summary screen 200
- FIG. 2B illustrates an exemplary detail screen 250
- the summary screen 200 comprises a number of visible components, including without limitation a metric group selection interface 205 , which will be described in more detail below, a search interface 210 , a plurality of metrics components 215 , a component 220 for viewing additional metrics not pictured on the summary screen 200 , and an alerts component 230 , which will also be described in more detail below.
- a “visible component” can be any component of the dashboard application that is visible, or can be made visible, to a user.
- the visible components of the dashboard application collectively provide the user interface for the dashboard application.
- the nature of a visible component necessarily will depend on the implementation of the dashboard application.
- a visible component might comprise, inter alia, a frame on a web page, a Java or Javascript window, a portlet, and/or merely a section of a web page.
- each visible component might be an application window, portion of an application window, dialog box, etc.
- the search interface 210 can be used to filter a data set according to one or more dimensions (e.g, as illustrated, by company, by branch/plant, by customer/supplier, by product facility, by date, and/or by text query). Based on the input to the search interface 210 , the data displayed in the metric components 215 will be filtered to match the search criteria.
- dimensions e.g, as illustrated, by company, by branch/plant, by customer/supplier, by product facility, by date, and/or by text query.
- Each metric component 215 displays summary information about a particular metric.
- a first metric component 215 a displays information about a metric measuring booked order values
- a second metric component 215 b displays summary information about a metric measuring on-time product completions.
- the metrics displayed are based on data obtained from a data store associated with one or more business applications and/or from the business applications themselves.
- the dashboard application is configured to generate the appropriate metrics based on raw data obtained from the data store/business application, while in other cases, the dashboard application merely formats and displays metrics data that is stored by the data store itself.
- Different metric components 215 might have different display modes.
- various metric components might employ a bar chart (e.g., component 215 a ), a pie chart (e.g., component 215 c ), a stacked bar chart (e.g., component 215 b ) and/or a data table (e.g., component 215 d ).
- the display mode for a particular metric will often be chosen based on the type of metric and the most efficient way to convey information about that metric. (As described below in detail, the user can be given the opportunity to specify both the metrics that appear on the summary screen 200 , and/or the display mode for each of those metrics).
- the user can select pre-selected groups of metrics to appear on the display screen, using the metric group selection interface 205 , as described further below.
- Each metric component 215 also includes an input mechanism (e.g., the mechanism 225 displayed in metric component 215 c ) to allow the user to invoke a detail screen providing a detailed view of that metric (and/or data pertaining to that metric).
- an input mechanism e.g., the mechanism 225 displayed in metric component 215 c
- the mechanism 225 illustrated in FIG. 2 is a hyperlink, one skilled in the art will appreciate, based on the disclosure herein, that any number of input mechanisms could be used for this purpose, e.g., dialog boxes, buttons, etc.
- the dashboard application will invoke a detail screen, such as the detail screen 250 illustrated by FIG. 2B .
- the detail screen 250 provides more detailed information about the selected metric, and it also allows the user to view the metric data (and/or the data from which the metric is generated) more selectively, for example, by filtering and/or categorizing the data by various dimensions.
- the detail screen 250 comprises a first visible component 255 for displaying the metric.
- similar display modes as those on the summary screen, described above, may be used to display the metric on the detail screen, although other display modes may be used as well.
- a first display mode (e.g., a mode comprising a pie chart) might be employed for a particular metric 215 c on the summary screen 200
- a second display mode (e.g., a mode comprising a bar chart) might be used in the visible component 255 displaying the metric on the detail screen 250
- the detail screen 250 might have an input mechanism (not shown on FIG. 2B ) for selecting among various display modes for the display of the metric in the visible component 255 .
- the exemplary detail screen 250 also comprises an input mechanism 260 for identifying a view criterion.
- the selection of the view criterion generally will affect how the metric is displayed, but not necessarily the data that is displayed.
- the view criterion affects how the metric is displayed (e.g., how the data is categorized), but not what is displayed.
- changing the view criterion will change the X-axis of the bar chart to categorize the data according to the view criterion.
- the detail screen 250 also includes a visible component 265 that displays a display hierarchy for the data comprising the metric.
- This display hierarchy allows a user to drill down into the metric data according to one or more dimensions.
- the terms “drill down” and “drill up” refers to moving between levels within a display hierarchy. Specifically, a move from a current level in the display hierarchy to a higher level is referred to as “drilling up,” while a move from a current level to a lower level is referred to as “drilling down.”
- drilling down narrows the data presented on the metric (e.g., by filtering the data presented) and drilling up increases the data included in the presentation (e.g., by removing filters).
- the display hierarchy component 265 displays the levels of the currently selected display hierarchy, and shows the user the current drill down/drill up path. It should be noted that the levels in the display hierarchy can be associated with different dimensions—as illustrated by FIG. 2B , the top level in the display hierarchy comprises a parameter with a date dimension, while the second level corresponds to a parameter with a company dimension, the third level corresponds to a parameter with a branch plant dimension, and so on.
- the detail screen also provides another visible component 270 that provides a drill down grid for a currently selected level in the display hierarchy.
- the drill down grid will display all of the values in the data set for the parameter corresponding to the selected level of the display hierarchy.
- the drill down grid component 270 provides three different companies by which the data can be further filtered.
- the drill down grid component 270 also provides an input mechanism to allow the user to select one (or more) of the values as a filter criterion.
- the drill down grid component provides an input mechanism 275 (in the form of a hyperlink, in this case) that allows the user to select a value for the company parameter. This value, then, will be used to filter the data that is displayed; in other words, the value will be used as a filter criterion to drill down further into the data.
- the display hierarchy component 265 and/or the drill down grid 270 can be used to provide a view criterion by which the data should be categorized for display (as illustrated by FIG. 2B ), in which the metric display component 255 has categorized the metric data by company value.
- the dashboard application might be configured to use the parameter associated with that level as the view criterion, and the metric display component 255 might be updated accordingly.
- the user might be provided with an input mechanism to produce this result. (This can be used as an alternative and/or in addition to the view criterion input mechanism 260 described above.)
- the display hierarchy component 265 might include a drill down/drill up path, which indicates how far the user has currently drilled down into the display hierarchy.
- the display hierarchy component 265 can also provide an indication of the values that have been used as filter criteria and/or view criteria in reaching the current drill down level.
- the user has selected the date 200606 as a filter criteria, and that value is indicated on the display hierarchy component. In this way, the user can quickly and easily see how the data has been filtered and/or categorized in producing the current display of the metric.
- the drill down/drill up path in a novel aspect of some embodiments, can also be used to provide an input mechanism to allow a user to arbitrarily choose a level in the display hierarchy without having to first drill up (or, in some cases, down) to that level.
- a level perhaps using the display hierarchy component 265
- the user might be given the option to change a value for a parameter corresponding to a particular level, without having to change any of the filter or view criteria. So, for example, if the user is viewing orders for a particular product line placed by a particular company during a particular month, the user can change the value of the month parameter without having to first drill up (i.e., remove the product line and company filters).
- the detail screen also includes a visible component 280 that provides a list of the available actions for the metric being viewed.
- this visible component 280 can provide an input mechanism (such as a hyperlink, button, etc.) that allows a user to provide input to initiate a particular action. Based on this input, the dashboard application might initiate the action.
- the dashboard application can be configured to initiate actions that occur outside the dashboard application itself.
- the dashboard application might be configured to invoke a business application that is associated with the data being viewed on the detail screen.
- the illustrated detail screen 250 displays the “on time shipment promised” metric, and an action might be provided to invoke a sales order entry business application to view details about a particular order (or set of orders).
- the detail screen can be used to provide a context for the action.
- the action might invoke the sales order entry application to display only orders placed by that company during the month.
- the dashboard application might be configured to send an electronic mail message, perhaps to a person (or group of people) responsible for the business process measured by the metric.
- the detail screen can provide a context for the message, if desired.
- the message might comprise some of the displayed data, which is categorized and/or filtered according to the selected levels in the display hierarchy at the time the action is initiated.
- the message might comprise reference (such as a hyperlink, etc.) to the dashboard application and/or the pertinent business application(s), and the reference might refer to the relevant dashboard and/or business application in a context provided by the detail screen (e.g., by invoking the business application in context, as described above and/or by invoking the dashboard application detail screen with the display hierarchy pre-configured).
- the context provided by the selected levels in the display hierarchy might even determine to whom the message is sent.
- the sales representative for that company might be included as a recipient of the electronic mail message.
- the relationships between various metrics and the responsible parties might be maintained by the dashboard application and/or might be obtained from the relevant business application(s).
- a business application might include a table that correlates various plants with the people who are the plant managers for those locations.
- the metric data itself might reflect a responsible person (e.g., a record for a particular sales order might indicate the name of the sales representative who entered the order or is otherwise responsible for the order).
- Other data sources such as human resources applications and/or databases, might be used as well by the dashboard application to identify recipients of the message.
- FIG. 3 is a flow diagram illustrating a method 300 of displaying data using a display hierarchy, in accordance with various embodiments of the invention.
- the method comprises defining a display hierarchy (block 305 ).
- Defining a display hierarchy might comprise providing an input mechanism to allow a user to select one or more parameters to be levels in the display hierarchy, receiving input via the input mechanism, and defining the display hierarchy based on the received input.
- the user might be given the opportunity to define, for a given parameter, a relative position in the display hierarchy for the level corresponding to that parameter.
- FIG. 4 An exemplary method for defining (or generating) a display hierarchy in accordance with some embodiments is provided by FIG. 4 , described below.
- the dashboard application accesses and/or obtains the relevant data (block 310 ). In many cases, this operation is performed by interfacing with a data store and/or a business application to obtain the necessary data.
- the display hierarchy is then displayed (block 315 ), perhaps as a hierarchical list of levels in a display component, as described above with respect to FIG. 2B , for example.
- the display hierarchy comprises a plurality of levels, each of which corresponds to a parameter by which the data can be categorized.
- the display hierarchy provides a drill-down path by which at least a portion of the set of data can be viewed at varying levels of granularity (e.g., by filtering the data according to the parameters corresponding to the levels of the display hierarchy).
- the dashboard application provides an input mechanism to allow a user to select a level in the display hierarchy (block 315 ).
- This input mechanism might be provided by making the levels in the display hierarchy selectable (e.g., as hyperlinks, etc.).
- the input mechanism can allow the user to arbitrarily select levels, for example by selecting any of the plurality of levels in the display hierarchy without having to first select a higher level in the display hierarchy and/or by allowing the user to select any level above the first level without having to first select a level immediately higher than the first level.
- the input mechanism will allow the user to identify the selected level as a filter criterion.
- the user can provide a filter criterion for the display of the metric (block 325 ).
- the user can be provided with an input mechanism (such as text box, etc.) to specify a value for the parameter. This value will then be used as the filter criterion.
- the dashboard application filters the data according to the filter criterion (block 330 ), such that only records having a data element with the particular for that parameter being included in the display of the metric (and/or the calculation of the metric for display).
- the filtered data (and/or, more particularly, the metric, as calculated based on the filtered data) is displayed, perhaps in a second visible component (block 335 ).
- displaying the data (and/or the metric) might comprise displaying only the filtered data.
- the filter criterion is also displayed for the user (block 340 ), for example, by displaying the value next to the corresponding level in the displayed hierarchy, as illustrated on FIG. 2B . This process can be repeated as desired for any number of levels in the display hierarchy (as indicated by the broken line on FIG. 3 ).
- an input mechanism may be used to allow the user to identify a view criterion by which the data should be categorized (block 345 ). After the user provides input to identify the view criterion, the data can be categorized according to this criterion, and the metric, thus categorized, can be displayed (block 350 ).
- FIG. 4 is a flow diagram illustrating a method 400 of generating a display hierarchy, in accordance with various embodiments of the invention.
- the method comprises accessing a set of data (e.g., at a data store associated with one or more business applications) (block 405 ).
- the data might comprise a plurality of records, each of which comprises a plurality of data elements; each data element in a record might have one or more dimensions.
- the dashboard application displays a list of available dimensions (block 410 ) and provides an input mechanism to allow the user to select one or more of the dimensions as view criteria (i.e., identify dimensions for categorizing the data) (block 410 ).
- the dashboard application might provide an input mechanism to allow the user to select one or more dimensions as filter criteria (i.e., identify dimensions for filtering the data) (block 415 ).
- the dashboard application might display a window (or web page, etc) showing each of the dimensions in the data set, and provide two check boxes (one for filter criterion and one for view criterion) for each dimension. By selecting the desired checkboxes, the user can identify the criteria. (It should be noted that a given dimension can be identified as both a view criterion and a filter criterion).
- the dashboard application Based on input received from the user (e.g., via the input mechanisms), the dashboard application generates a display hierarchy for displaying the set of data (block 425 ) and displays (perhaps in a visible component, such as the visible component 265 of FIG. 2B ) a representation of the display hierarchy (block 430 ).
- the dashboard application can then provide an input mechanism to allow the user to select a dimension from the display hierarchy for categorizing and/or filtering the data (block 435 ), and the data can be displayed, according to the selected view and/or filter criteria (block 440 ), for example as described with respect to FIG. 3 .
- multiple levels in the display hierarchy can be selected for filtering and/or categorizing the data in this way.
- FIG. 5 is a flow diagram illustrating a method 500 of configuring a metric summary screen in a dashboard application, in accordance with various embodiments of the invention.
- the method 500 comprises providing a communication component (block 505 ) (such as the data interface described above, for example).
- the communication component might be in communication with a business application (and/or, more particularly, a data store associated with the business application) and/or configured to obtain data from the business application.
- the method 500 further comprises displaying a dashboard application for a user (block 510 ).
- the dashboard application might comprise a plurality of visible components (such as the visible components depicted on FIGS. 2A and 2B above).
- the method 500 further comprises identifying metrics to be displayed on a summary screen.
- identifying the metrics comprises identifying a metric group (block 515 ) from among a list of configured metric groups.
- An input mechanism such as the mechanism 205 illustrated on FIG. 2A can be used for this purpose.
- the dashboard application will provide a metric grouping interface to allow a user to configure metric groups.
- configuring metric groups comprises creating a metric group and/or identifying a group of metrics that should be in a particular metric group (block 520 ).
- FIG. 6 illustrates a metric grouping interface 600 that can be used to identify metrics for a particular group.
- the interface 600 comprises a list of available metrics 605 , along with a set of input mechanisms (e.g., input mechanism 610 ) for selecting a particular metric to be part of the group.
- the interface 600 also includes an input mechanism 615 that allows the user to provide a name for the metric group, as well as an input mechanism 620 that allows the user to provide a list of responsible persons for the metric (this list can be used by the dashboard application, for example, to determine responsible persons in taking actions, sending alerts, etc.).
- the method 500 includes providing an input mechanism to allow a user to identify a default metric group (block 520 ). In this way, the user can identify which metrics should be displayed on a summary screen upon initialization of the dashboard application.
- the dashboard application provides an input mechanism for the user to identify a metric to be displayed in a first visible component. This procedure can be repeated as desired, for example to allow the user to identify a second metric to be displayed in a second visible component, etc.
- the number of metrics to be displayed generally is limited only by the number of available metrics and/or the available screen real estate. (In some cases, it should be noted, that the metric group interface 600 of FIG. 6 can be used to allow the user to identify these metrics. In other cases, metric groups might not be used, and the user can be provided with a facility to identify metrics for display on an individual basis, such that blocks 515 - 525 can be omitted.)
- the user can also be provided with an input mechanism to specify a spatial arrangement of the displayed metrics (or, more particularly, of the visible components that are used to display the metrics) (block 525 ). In other words, the user can specify the order in which the metrics should appear on a summary screen.
- the user can also be provided with an input mechanism to identify a display mode for each of the metrics to be displayed (block 540 ).
- the dashboard application After input has been received to identify the metrics to be displayed (and, optionally, the spatial arrangement and/or display modes of the metrics), the dashboard application obtains data (from the data store) for generating and/or displaying the metrics (block 545 ). The metrics, or information about the metrics, is then displayed according to the input received from the user (block 550 ).
- FIG. 7 is a flow diagram illustrating a method 700 of generating actions in a dashboard application, in accordance with various embodiments of the invention.
- the method 700 comprises accessing a set of data produced by one or more business application (e.g, as described above) (block 705 ) and providing a dashboard application (block 710 ).
- the dashboard application as noted above, is configured to display at least some of the data and comprises one or more visible components for this purpose.
- the data obtained by the dashboard will pertain to one or more metrics.
- the data might be used to calculate and/or derive a metric, and/or the metric might comprise the data itself.
- the method 700 therefore, further comprises displaying at least some of the data (block 715 ). Because the data generally will pertain to a metric, displaying at least some of the data might comprise displaying the metric, as described above, for example.
- the method 700 might also comprise providing an action interface (such as the visible component 280 illustrated on FIG. 2B ) to allow the user to select an action to be performed with respect to at least a portion of the displayed data (block 720 ).
- the dashboard application Upon receiving user input via the interface, the dashboard application will initiate the selected action (block 725 ).
- a variety of actions can be supported, including, without limitation, invoking a business application, sending an electronic mail message and/or the like.
- the dashboard application will provide a context for the action (block 730 ).
- a context for the action for example, if a user drills down into a metric (for example, using one or more procedures described with respect to FIG. 3 ), the filtered data displayed according to the drill down path might provide the context for the action.
- the dashboard application might also provide a configuration interface to configure one or more actions (block 735 ).
- Configuring an action can include creating a new action and/or modifying an existing action. If a new action is created, the action might be displayed in the action interface. In some cases, a number of default actions are provided with the dashboard application, and configuring an action might include selecting such a pre-configured action.
- FIG. 8 is a flow diagram illustrating a method of generating alerts in a dashboard application, in accordance with various embodiments of the invention.
- the method 800 comprises accessing a set of data produced by one or more business application (e.g., as described above) (block 805 ) and providing a dashboard application (block 810 ).
- the dashboard application as noted above, is configured to display at least some of the data and comprises one or more visible components for this purpose.
- the data obtained by the dashboard will pertain to one or more metrics.
- the data might be used to calculate and/or derive a metric, and/or the metric might comprise the data itself.
- the method 800 further comprises displaying at least some of the data (block 815 ). Because the data generally will pertain to a metric, displaying at least some of the data might comprise displaying the metric, as described above, for example.
- a metric generally measures an identified business objective.
- the method 800 includes providing an interface to allow a user to define a goal for the metric (block 820 ).
- the goal generally will identify a threshold value for the metric.
- the threshold value generally will depend on the nature of the metric itself. Merely by way of example, if the metric measures unfulfilled orders, the threshold value might indicate a maximum number of unfulfilled orders. Conversely, if the metric measures plant output, the threshold might indicate a minimum number of items output. If the goal is not being met, this indicates that the business processes being evaluated by the metric are not performing at the desired level.
- an alert is triggered (block 840 ).
- an alert might comprise sending an electronic mail message to one or more entities responsible for the metric.
- an alert might comprise a message displayed in the dashboard application.
- the summary screen 200 depicted by FIG. 2A includes an alert component 230 that can be sued to display alerts generated by the dashboard application.
- the alert component 230 on the summary screen will include alerts pertaining to all of the metrics shown on the summary screen (and possibly alerts pertaining to metrics that are part of metric groups not displayed on the summary screen).
- the alert component can display alerts pertaining to any metrics for the user is the responsible party, regardless of whether they are configured in any metric groups.
- a detail screen might also include an alert component, which might display only alerts related to the metrics to which the detail screen pertains and/or might display all of the alerts for metrics configured in metric groups and/or for which the user is responsible.
- the dashboard application can establish dynamic goals (block 825 ).
- the dashboard application can establish a dynamic goal for the filtered data, and can trigger an alert (block 840 ) when the filtered data indicates that the dynamic goal is not being met.
- the filtered data will represent a discrete subset of the overall set of data used to calculate the metric. For instance, if the metric measures productivity over yearly periods, the user might drilled down to a particular month. Hence, the filtered data would represent 1/12 of the overall data used to produce the metric. Accordingly, the dynamic goal might be established to be 1/12 of the overall defined goal by interpolating from the overall goal.
- the dashboard application can be configured to perform this type of interpolation automatically, without requiring input from the user.
- Embodiments of the invention can account for such conditions in multiple ways.
- some embodiments provide an input mechanism to allow a user to input a value for a particular dynamic goal. This value, then, would override any interpolated goals. In some cases, the dashboard would adjust other dynamic goals to maintain consistency with both the input value and the overall defined goal for the metric.
- other embodiments provide pre-configured interpolation algorithms to account for cyclical metrics. Such algorithms can automatically account for varying values among a particular dimension (such as the case when one plant is expect to produce more output than other plants, etc.).
- the dynamic goals can be “rolled up” to produce an aggregate goal over some collection of drill down data subsets (block 830 ). For example, if a metric has a defined goal for an annual period, and the drill down path provides for filtering the data on a monthly basis (thus establishing dynamic monthly goals), the dashboard application can produce an aggregate goal for a time period of multiple months (but less than a year) by aggregating the necessary monthly goals. This aggregate goal can be compared with an aggregate metric generated by aggregating the actual data sets for the pertinent months. If the aggregation of this plurality of data sets indicates that the aggregate goal is not being met, and alert is triggered (block 840 ).
- An exemplary system alert might be generated when an abnormal condition (e.g., an equipment failure, etc.) is detected by the dashboard application and/or by a business application.
- an abnormal condition e.g., an equipment failure, etc.
- a business application provide interfaces to common manufacturing equipment, and through such interfaces can detect abnormal conditions in such equipment.
- an alert can be triggered (block 840 ).
- FIG. 9 provides a schematic illustration of one embodiment of a computer system 900 that can perform the methods of the invention and/or the functions of a dashboard application server, client computer, business application server, database server, and/or the like, as described herein. It should be noted that FIG. 9 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 9 , therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.
- the computer system 900 is shown comprising hardware elements that can electrically coupled via a bus 905 (or may otherwise be in communication, as appropriate).
- the hardware elements can include one or more processors 910 , including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration chips, and/or the like); one or more input devices 915 , which can include without limitation a mouse, a keyboard and/or the like; and one or more output devices 920 , which can include without limitation a display device, a printer and/or the like.
- processors 910 including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration chips, and/or the like);
- input devices 915 which can include without limitation a mouse, a keyboard and/or the like;
- output devices 920 which can include without limitation a display device, a printer and/or the like.
- the computer system 900 may further include (and/or be in communication with) one or more storage devices 925 , which can comprise, without limitation, local and/or network accessible storage and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.
- storage devices 925 can comprise, without limitation, local and/or network accessible storage and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.
- RAM random access memory
- ROM read-only memory
- the computer system 9 might also include a communications subsystem 930 ; which can include without limitation a modem, a network card (wireless or wired), an infra-red communication device, and/or the like), a wireless communication device and/or chipset (such as a BluetoothTM device, an 802.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.).
- the communications system 930 may permit data to be exchanged with a network (such as the network 1010 described below, and/or any other devices described herein.
- the computer system 900 will further comprise a memory 935 , which can include a RAM or ROM device, as described above.
- the computer system 900 also can comprise software elements, shown as being currently located within the working memory 935 , including an operating system 940 and/or other code 945 , such as one or more application programs, which may comprise computer programs of the invention (such as a dashboard application, web server, web browser, etc.) and/or may be designed to implement methods of the invention, as described herein.
- application programs which may comprise computer programs of the invention (such as a dashboard application, web server, web browser, etc.) and/or may be designed to implement methods of the invention, as described herein.
- one or more procedures described with respect to the method(s) discussed above might be implemented as instructions executable by a computer (and/or a processor within a computer).
- a set of these instructions might be stored on a computer-readable storage medium, such as the storage device(s) 925 described above.
- the storage medium might be incorporated within a computer system, such that the instructions, when executed by the computer system, perform the procedures of the method(s).
- the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), such that the storage medium can be used to program a generic computer with the instructions stored thereon.
- FIG. 10 illustrates a schematic diagram of a system 1000 that can be used in accordance with one set of embodiments.
- the system 1000 can include one or more user computers 1005 .
- the user computers 1005 can be general purpose personal computers (including, merely by way of example, personal computers and/or laptop computers running any appropriate flavor of Microsoft Corp.'s WindowsTM and/or Apple Corp.'s MacintoshTM operating systems) and/or workstation computers running any of a variety of commercially-available UNIXTM or UNIX-like operating systems.
- These user computers 1005 can also have any of a variety of applications, including one or more applications configured to perform methods of the invention, as well as one or more office applications, database client and/or server applications, and web browser applications.
- the user computers 1005 can be any other electronic device, such as a thin-client computer, Internet-enabled mobile telephone, and/or personal digital assistant, capable of communicating via a network (e.g., the network 1010 described below) and/or displaying and navigating web pages or other types of electronic documents.
- a network e.g., the network 1010 described below
- the exemplary system 1000 is shown with three user computers, any number of user computers can be supported.
- Certain embodiments of the invention operate in a networked environment, which can include a network 1010 .
- the network 1010 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation TCP/IP, SNA, IPX, AppleTalk, and the like.
- the network 1010 can be a local area network (“LAN”), including without limitation an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network, including without limitation a network operating under any of the IEEE 802.11 suite of protocols, the BluetoothTM protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks.
- LAN local area network
- VPN virtual private network
- PSTN public switched telephone network
- wireless network including without limitation a network operating under any of the IEEE 802.11 suite of protocols, the BluetoothTM protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks.
- Embodiments of the invention can include one or more server computers 1015 .
- Each of the server computers 1015 may be configured with an operating system including without limitation any of those discussed above, as well as any commercially-available server operating systems.
- Each of the servers 1015 may also be running one or more applications, which can be configured to provide services to one or more clients 1005 and/or other servers 1015 .
- one of the servers 1015 may be a web server, which can be used, merely by way of example, to process requests for web pages or other electronic documents from user computers 1005 .
- the web server can also run a variety of server applications, including HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like.
- the web server may be configured to serve web pages that can be operated within a web browser on one or more of the user computers 1005 to perform methods of the invention.
- the server computers 1015 might include one ore more file and/or application servers, which can include one or more applications accessible by a client running on one or more of the client computers 1005 and/or other servers 1015 .
- the server(s) 1015 can be one or more general purpose computers capable of executing programs or scripts in response to the user computers 1005 and/or other servers 1015 , including without limitation web applications (which might, in some cases, be configured to perform methods of the invention).
- a web application can be implemented as one or more scripts or programs written in any programming language, such as JavaTM, C, C#TM or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages.
- the application server(s) can also include database servers, including without limitation those commercially available from OracleTM, MicrosoftTM, SybaseTM, IBMTM and the like, which can process requests from database clients running on a user computer 1005 and/or another server 1015 .
- an application server can create web pages dynamically for displaying the information in accordance with embodiments of the invention, such as dashboard application pages (e.g., summary pages, detail pages, visible components, etc.).
- Data provided by an application server may be formatted as web pages (comprising HTML, Javascript, etc., for example) and/or may be forwarded to a user computer 1005 via a web server (as described above, for example).
- a web server might receive web page requests and/or input data from a user computer 1005 and/or forward the web page requests and/or input data to an application server.
- one or more servers 1015 can function as a file server and/or can include one or more of the files necessary to implement methods of the invention incorporated by an application running on a user computer 1005 and/or another server 1015 .
- a file server can include all necessary files, allowing such an application to be invoked remotely by a user computer 1005 and/or server 1015 .
- the functions described with respect to various servers herein e.g., application server, database server, web server, file server, etc.
- the system can include one or more databases 1020 .
- the location of the database(s) 1020 is discretionary: merely by way of example, a database 1020 a might reside on a storage medium local to (and/or resident in) a server 1015 a (and/or a user computer 1005 ). Alternatively and/or additionally, a database 1020 b can be remote from any or all of the computers 1005 , 1015 , so long as it can be in communication (e.g., via the network 1010 ) with one or more of these. In a particular set of embodiments, a database 1020 can reside in a storage-area network (“SAN”) familiar to those skilled in the art.
- SAN storage-area network
- a database 1020 can be a relational database, such as an Oracle database, that is adapted to store, update, and retrieve data in response to SQL-formatted commands.
- the database might be controlled and/or maintained by a database server, as described above, for example.
- the database server might be configured with DBMS software and/or storage management software.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A dashboard application can enable a user to quickly view data (and, in a particular aspect, data from one or more business applications) in an efficient manner. The dashboard application may allow a user to configure one or more goals, and/or to issue an alert when the goal(s) are not being met.
Description
- This application may be related to the following patents/applications:
- This application is a nonprovisional application claiming, under 35 U.S.C. § 119(e), the benefit of the filing date of provisional U.S. Patent Application No. 60/882,538, filed Dec. 28, 2006 by Gu et al. and entitled “Dashboard Application,” the entire disclosure of which is incorporated herein by reference.
- This application is related to co-pending U.S. patent application Ser. No. ______, filed on a date even herewith by Gu et al. and entitled “Drill Down Functionality in a Dashboard Application” (attorney docket no. 021756-031400US), the entire disclosure of which is incorporated herein by reference.
- This application is related to co-pending U.S. patent application Ser. No. ______, filed on a date even herewith by Gu et al. and entitled “Multi-Dimensioned Data Hierarchies” (attorney docket no. 021756-031410US), the entire disclosure of which is incorporated herein by reference.
- This application is related to co-pending U.S. patent application Ser. No. ______, filed on a date even herewith by Gu et al. and entitled “Configurable Metric Groups” (attorney docket no. 021756-031420US), the entire disclosure of which is incorporated herein by reference.
- This application is related to co-pending U.S. patent application Ser. No. ______ filed on a date even herewith by Gu et al. and entitled “Configurable Actions in a Dashboard Application” (attorney docket no. 021756-031430US), the entire disclosure of which is incorporated herein by reference.
- The entire disclosure of each of the above applications/patents is incorporated herein by reference for all purposes.
- A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
- The present invention relates generally to providing information to computer users, and in particular to accessing data from business applications and providing that data in an organized manner.
- Most large businesses (and many smaller businesses and organizations) employ one or more business applications, and in some cases, suites of business applications, to provide visibility and control over various aspects of the business. Such “business applications” (or, as they are sometimes called, “enterprise applications”) can include, without limitation, customer relations management (“CRM”) applications, enterprise resource planning (“ERP”) applications, supply chain management applications, and other applications dealing with various finance, accounting, manufacturing, and/or distribution functions, to name but a few examples. Exemplary enterprise application suites include, without limitation, the Oracle eBusiness Suite and JD Edwards Enterprise One, both of which are available from Oracle Corp.
- To maximize the utility of a business application, users need to have visibility into the business processes managed by the business application, to monitor the health (e.g., the efficiency, operational status) of various business processes, and of the enterprise itself. Business applications, however, typically are more focused on managing the business processes (for example, acquiring, generating and processing business data) than on providing immediate visibility into the health of those business processes.
- Consequently, many enterprise users either purchase third party business intelligence tools to integrate with the business application and/or suite, or develop their own business intelligence solution. The cost of business intelligence software is expensive (sometimes prohibitively so), however, and the complexity of such tools often requires intimate knowledge of extract-transform-load (“ETL”) technology and system integration simply to integrate an off-the shelf business intelligence tool. Similarly, it can be prohibitively expensive and/or time-consuming to develop a business intelligence solution in house, given the complexity of modern business applications and the lack of a preexisting framework within such applications to develop, add or modify such a solution.
- Accordingly, there is a need for a more practical tool to provide visibility into business processes. In some cases, it would be helpful if such a tool were to provide real-time (or near real-time) visibility into the business processes. In other cases, it would be beneficial for such a tool to be relatively configurable by an end-user (and/or support staff) to mitigate the expense (both fiscally and chronologically) of developing solutions that fit the needs of the end-user.
- In a set of embodiments, the present invention provides a dashboard application, which can enable a user to quickly view data (and, in a particular aspect, data from one or more business applications) in an efficient manner. In a set of embodiments, the dashboard application can be used to view data about one or more metrics that reflect the performance of business operations(s), as derived from data maintained (perhaps in an associated data store) by the business application(s).
- In a set of embodiments, the dashboard application can allow the user to set goals for various metrics, and/or can provide alerts if those goals are not being met. In an aspect, for example, a user might set an overall goal for a metric. The dashboard application, then might, use that overall goal to generate dynamic goals for subsets of the data comprising the metric, for instance, by interpolating from the overall goal based on a relationship between the overall data set and the subset of the data being viewed. The dashboard application might also allow the user to set goals that override these dynamic goals for particular data subsets. In some embodiments, the dashboard application might also be configured to aggregate one or more dynamic goals and/or to compare this aggregate goal with the relevant aggregated data to determine whether the aggregate goal is being met.
- The tools provided by various embodiments invention include, without limitation, methods, systems, and/or software products. Mainly by way of example, a method might comprise one or more procedures, any or all of which are executed by a computer system. Correspondingly, an embodiment might comprise a computer system configured with instructions to perform one or more procedures in accordance with methods of the invention. Similarly, a computer program might comprise a set of instructions that are executable by a computer system (and/or a processor therein) to perform such operations. In many cases, such software programs are encoded on physical and/or tangible computer readable media (such as, merely by way of example, optical media, magnetic media, and/or the like). In a particular embodiment, the set of instructions might be incorporated within a business application.
- Merely by way of example, a method in accordance with one set of embodiments might comprise accessing a set of data produced by one or more business applications. In some cases, the data is stored in a data store (which might be maintained by the business application). The method might further comprise providing a dashboard application, which, in an aspect, is configured to display at least some of the set of data, which, in some cases, pertains to a metric that measures an identified business objective. Merely by way of example, the dashboard application might comprise a visible component, and the method might comprise displaying at least some of the set of data.
- In an aspect of some embodiments, the method further comprises providing an interface to allow a user to define a goal for the metric. The goal, by way of example, can identify a threshold value for the metric. The method, then, might comprise triggering an alert when the metric does not attain the goal.
- An exemplary computer system in accordance with another set of embodiments might comprise a processor, a communication interface and/or a computer readable medium. The computer readable medium might comprise (i.e., have stored thereon) a set of instructions executable by the processor. The set of instructions might include instructions to perform various procedures of methods of the invention. In some cases, the computer system might comprise a server computer (e.g., a web server), which might be in communication with a client computer (which might include a web browser and/or a dedicated client application, etc.) to display information for a user and/or receive input from the user.
- A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings wherein like reference numerals are used throughout the several drawings to refer to similar components. In some instances, a sublabel is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sublabel, it is intended to refer to all such multiple similar components.
-
FIG. 1 is a block diagram illustrating a computer system employing a dashboard application, in accordance with various embodiments of the invention. -
FIG. 2A is screen capture diagram illustrating a metric summary screen from a dashboard application, in accordance with various embodiments of the invention. -
FIG. 2B is screen capture diagram illustrating a metric detail screen from a dashboard application, in accordance with various embodiments of the invention. -
FIG. 3 is a flow diagram illustrating a method of displaying data using a display hierarchy, in accordance with various embodiments of the invention. -
FIG. 4 is a flow diagram illustrating a method of generating a display hierarchy, in accordance with various embodiments of the invention. -
FIG. 5 is a flow diagram illustrating a method of configuring a metric summary screen in a dashboard application, in accordance with various embodiments of the invention. -
FIG. 6 is screen capture diagram illustrating a metric group configuration interface from a dashboard application, in accordance with various embodiments of the invention. -
FIG. 7 is a flow diagram illustrating a method of generating actions in a dashboard application, in accordance with various embodiments of the invention. -
FIG. 8 is a flow diagram illustrating a method of generating alerts in a dashboard application, in accordance with various embodiments of the invention. -
FIG. 9 is a generalized block diagram illustrating a computer system that can be used in various embodiments of the invention. -
FIG. 10 is a generalized block diagram illustrating a networked system that can be used in various embodiments of the invention. - Embodiments of the invention provide a dashboard application, which interacts both with one or more business applications (and/or the data produced by those applications) and with a user. Hence, the dashboard application provides an easy-to-use facility for a user to view data about various business metrics without having to actually interact with the business applications themselves. One skilled in the art will appreciate that there are a variety of business applications in use, including without limitation, customer relations management applications, enterprise resource planning applications, warehouse management systems, supply chain management applications, human resources applications, business analytics applications, sales applications, and the like. Several vendors provide comprehensive packages of business applications. Examples include the E-Business Suite™, the Fusion™ suite, JD Edwards EnterpriseOne™, and PeopleSoft Enterprise™ (all available from Oracle Corp.™), as well as packages from other vendors, such as the mySAP Buesingess Suite™, available from SAP AG™. The dashboard application, then, provides an interface between the data produced by such business application (and/or the applications themselves) and a user.
- Merely by way of example, a Plant Manager Dashboard™ application might provide an interface for a plant manager to view a set of metrics associated with the performance of one or more manufacturing plants. In many cases, a metric will be derived from data produced by one or more business applications, while in other cases, a metric might simply comprise such data. It should be appreciated that data produced by a business application will normally take the form of a number of records (e.g., database records). Each of those records will comprise a plurality of data elements having a value, and each of the data elements will have an associated dimension. In some cases, these records and/or data elements might provide a metric themselves. In other cases, the metric might be derived from a collection of a plurality of records (and/or the data elements therein).
- Hence, used herein, the term “metric” means any value that is used to measure the performance of a particular business process. Examples include the number of orders fulfilled, number of products produced, accounts receivable aging, and/or the like. In many cases, a metric will have two or more dimensions, and in some cases, a metric will have a large number of dimensions. In a sense, dimensions provide various perspectives from which a metric can be viewed. Merely by way of example, a metric measuring the number of products produced might have a time dimension (e.g., the number of products produced over a particular week, month, quarter, year, etc.) as well as a plant dimension (e.g., the number of products produced in Plant A, number of products produced in Plant B, etc.). In a set of embodiments, the dashboard application provides a way for users to explore metrics in the dimensions that are of the greatest interest.
- In an aspect, the dashboard application of the present invention provides flexibility in viewing metrics (and/or information about those metrics) by implementing a display hierarchy. The display hierarchy can be used to “drill down” into a metric (and/or the data from which the metric is derived) by filtering the data according to one or more dimensions. The hierarchy can also be used to categorize the data according to one or more view criteria (which might also be dimensions). It should be noted that a display hierarchy can be multi-dimensional. Merely by way of example, a particular hierarchy for a metric measuring items produced might have, at its topmost level, a time dimension (e.g., years). The second level in the hierarchy might be a plant location dimension, while the third level might be a product family dimension.
- Together, a set of filter criteria and view criteria can be considered a “variant.” A variant can be thought of as a particular way to view (and/or drill down into) a metric. In some embodiments, a number of default variants might be provided for viewing data. In other embodiments, the user might be provided with a facility to create user-defined metrics. In yet other embodiments, a combination of default variants and user-defined variants might be employed.
-
FIG. 1 depicts asystem 100 that illustrates a typical relationship between adashboard application 105, aclient computer 110 and one or more business applications 115. (Although two business applications 115 are illustrated onFIG. 1 , it should be appreciated that thedashboard application 105 might interface with many business applications.) Thedashboard application 105 includes a data interface 120 (which can be thought of as a communication component) for communicating with business applications 115 and/or with one ormore data stores 125. The data store(s) 125 (which, in many cases, are databases managed by a relational database management system, such as Oracle 10g™ might be maintained by the business applications 115 and/or might store data produced by the business applications 115. In some embodiments, asingle data store 125 might store data associated withmultiple business applications own data store 125. Thedashboard application 105 can be in communication with any number ofdata stores 125, as necessary. In a particular set of embodiments, thedata store 125 might comprise a data warehouse, such as a data warehouse managed by Oracle Warehouse Builder™. - The data interface 120 might comprise an application programming interface for communicating with the
data store 125 and/or business applications 115. Alternately and/or additionally, thedata interface 120 might include a database access component, a web service broker and/or the like. Many inter-application and/or database communication facilities are known in the art, and any of such facilities can be employed by thedata interface 120. - The
dashboard application 105 also includes aclient interface 130 for providing communication between the dashboard application and a client computer 110 (and/or a user thereof). In particular embodiments, the client computer might comprise anapplication 135 for communicating with the dashboard application 105 (e.g., via the client interface 130). In a particular set of embodiments, theclient interface 130 might comprise a web server (which might be part of thedashboard application 105 and/or separate from the dashboard application 105). Theapplication 135, then, might be aweb browser 135, which can communicate with theclient interface 130 via standard web communications protocols (e.g., HTTP, etc.), and the displays, user interfaces, and/or input mechanisms produced by thedashboard application 105 might be presented to the user as web pages, web-based forms, Java applications and/or applets, portlets, and/or the like. In other embodiments, however, such displays might comprises windows in a dedicated application, etc. - It should be noted that the functional arrangement depicted by
FIG. 1 is exemplary in nature, and that many variations are possible. Merely by way of example, in some cases, thedashboard application 105 might be incorporated within one or more of the business applications 115. Similarly, theclient interface 130, as mentioned above, might be a standalone program separate from the dashboard application 105 (and, in fact, might reside on a different computer). In one embodiment, thedashboard application 105 resides on a server computer (such as one of those described below, for example). In another embodiment, the dashboard application (and/or a portion thereof) might reside on theclient computer 110, such that the user does not have to contact a separate server to use the dashboard application. It should be appreciated, based on the disclosure herein, that the various functional arrangements between thedashboard application 105, business applications 115,data store 125, andclient computer 110 are virtually unlimited, and embodiments of the invention are not limited to any particular structural implementation. - As noted above, in a set of embodiments, the dashboard application might provide a summary screen and/or one or more detail screens. Merely by way of example,
FIG. 2A illustrates anexemplary summary screen 200, whileFIG. 2B illustrates anexemplary detail screen 250. Thesummary screen 200 comprises a number of visible components, including without limitation a metricgroup selection interface 205, which will be described in more detail below, asearch interface 210, a plurality of metrics components 215, acomponent 220 for viewing additional metrics not pictured on thesummary screen 200, and analerts component 230, which will also be described in more detail below. A “visible component” can be any component of the dashboard application that is visible, or can be made visible, to a user. Hence, the visible components of the dashboard application collectively provide the user interface for the dashboard application. The nature of a visible component necessarily will depend on the implementation of the dashboard application. Merely by way of example, if the dashboard application is provided as a web-based application, a visible component might comprise, inter alia, a frame on a web page, a Java or Javascript window, a portlet, and/or merely a section of a web page. If the dashboard application is a dedicated application on a client computer, each visible component might be an application window, portion of an application window, dialog box, etc. Based on the disclosure herein, those skilled in the art will appreciate that modern application development environments provide a number of user interface widgets that can be used to create the visible components, as well as other user interfaces and input mechanisms described herein. - The
search interface 210 can be used to filter a data set according to one or more dimensions (e.g, as illustrated, by company, by branch/plant, by customer/supplier, by product facility, by date, and/or by text query). Based on the input to thesearch interface 210, the data displayed in the metric components 215 will be filtered to match the search criteria. - Each metric component 215 displays summary information about a particular metric. Merely by way of example, a first
metric component 215 a displays information about a metric measuring booked order values, while a secondmetric component 215 b displays summary information about a metric measuring on-time product completions. The metrics displayed are based on data obtained from a data store associated with one or more business applications and/or from the business applications themselves. In some cases, the dashboard application is configured to generate the appropriate metrics based on raw data obtained from the data store/business application, while in other cases, the dashboard application merely formats and displays metrics data that is stored by the data store itself. - Different metric components 215 might have different display modes. Merely by way of example, various metric components might employ a bar chart (e.g.,
component 215 a), a pie chart (e.g.,component 215 c), a stacked bar chart (e.g.,component 215 b) and/or a data table (e.g.,component 215 d). It should be appreciated that the display mode for a particular metric will often be chosen based on the type of metric and the most efficient way to convey information about that metric. (As described below in detail, the user can be given the opportunity to specify both the metrics that appear on thesummary screen 200, and/or the display mode for each of those metrics). In a particular aspect, the user can select pre-selected groups of metrics to appear on the display screen, using the metricgroup selection interface 205, as described further below. - Each metric component 215 also includes an input mechanism (e.g., the
mechanism 225 displayed inmetric component 215 c) to allow the user to invoke a detail screen providing a detailed view of that metric (and/or data pertaining to that metric). (While themechanism 225 illustrated inFIG. 2 is a hyperlink, one skilled in the art will appreciate, based on the disclosure herein, that any number of input mechanisms could be used for this purpose, e.g., dialog boxes, buttons, etc.). Merely by way of example, which a user provides input via the input mechanism 225 (e.g., by selecting the hyperlink), the dashboard application will invoke a detail screen, such as thedetail screen 250 illustrated byFIG. 2B . - The
detail screen 250 provides more detailed information about the selected metric, and it also allows the user to view the metric data (and/or the data from which the metric is generated) more selectively, for example, by filtering and/or categorizing the data by various dimensions. In the example illustrated byFIG. 2B , thedetail screen 250 comprises a firstvisible component 255 for displaying the metric. (It should be noted that similar display modes as those on the summary screen, described above, may be used to display the metric on the detail screen, although other display modes may be used as well. In particular, as illustrated byFIGS. 2A and 2B , a first display mode (e.g., a mode comprising a pie chart) might be employed for a particular metric 215 c on thesummary screen 200, while a second display mode (e.g., a mode comprising a bar chart) might be used in thevisible component 255 displaying the metric on thedetail screen 250. In some embodiments, thedetail screen 250 might have an input mechanism (not shown onFIG. 2B ) for selecting among various display modes for the display of the metric in thevisible component 255. - The
exemplary detail screen 250 also comprises aninput mechanism 260 for identifying a view criterion. The selection of the view criterion generally will affect how the metric is displayed, but not necessarily the data that is displayed. In other words, the view criterion affects how the metric is displayed (e.g., how the data is categorized), but not what is displayed. In this example, changing the view criterion will change the X-axis of the bar chart to categorize the data according to the view criterion. - The
detail screen 250 also includes avisible component 265 that displays a display hierarchy for the data comprising the metric. This display hierarchy allows a user to drill down into the metric data according to one or more dimensions. As used herein the terms “drill down” and “drill up” refers to moving between levels within a display hierarchy. Specifically, a move from a current level in the display hierarchy to a higher level is referred to as “drilling up,” while a move from a current level to a lower level is referred to as “drilling down.” Generally, drilling down narrows the data presented on the metric (e.g., by filtering the data presented) and drilling up increases the data included in the presentation (e.g., by removing filters). - The
display hierarchy component 265 displays the levels of the currently selected display hierarchy, and shows the user the current drill down/drill up path. It should be noted that the levels in the display hierarchy can be associated with different dimensions—as illustrated byFIG. 2B , the top level in the display hierarchy comprises a parameter with a date dimension, while the second level corresponds to a parameter with a company dimension, the third level corresponds to a parameter with a branch plant dimension, and so on. - In conjunction with the display hierarchy, the detail screen also provides another
visible component 270 that provides a drill down grid for a currently selected level in the display hierarchy. Generally, the drill down grid will display all of the values in the data set for the parameter corresponding to the selected level of the display hierarchy. For example, for the company level in the display hierarchy, the drill downgrid component 270 provides three different companies by which the data can be further filtered. The drill downgrid component 270 also provides an input mechanism to allow the user to select one (or more) of the values as a filter criterion. In the illustrated embodiment, for example, the drill down grid component provides an input mechanism 275 (in the form of a hyperlink, in this case) that allows the user to select a value for the company parameter. This value, then, will be used to filter the data that is displayed; in other words, the value will be used as a filter criterion to drill down further into the data. - In addition, the
display hierarchy component 265 and/or the drill downgrid 270 can be used to provide a view criterion by which the data should be categorized for display (as illustrated byFIG. 2B ), in which themetric display component 255 has categorized the metric data by company value. Merely by way of example, if a user selects a particular level in the display hierarchy but does not provide any filter criterion for that level, the dashboard application might be configured to use the parameter associated with that level as the view criterion, and themetric display component 255 might be updated accordingly. Alternatively, the user might be provided with an input mechanism to produce this result. (This can be used as an alternative and/or in addition to the viewcriterion input mechanism 260 described above.) - The
display hierarchy component 265 might include a drill down/drill up path, which indicates how far the user has currently drilled down into the display hierarchy. Optionally, thedisplay hierarchy component 265 can also provide an indication of the values that have been used as filter criteria and/or view criteria in reaching the current drill down level. Merely by way of example, in the illustrated embodiment, the user has selected the date 200606 as a filter criteria, and that value is indicated on the display hierarchy component. In this way, the user can quickly and easily see how the data has been filtered and/or categorized in producing the current display of the metric. The drill down/drill up path, in a novel aspect of some embodiments, can also be used to provide an input mechanism to allow a user to arbitrarily choose a level in the display hierarchy without having to first drill up (or, in some cases, down) to that level. Merely by way of example, if a user has drilled down several levels into the display hierarchy, the user can select a level (perhaps using the display hierarchy component 265) to drill up to, without having to “back out” of the drill down path level by level. In addition, the user might be given the option to change a value for a parameter corresponding to a particular level, without having to change any of the filter or view criteria. So, for example, if the user is viewing orders for a particular product line placed by a particular company during a particular month, the user can change the value of the month parameter without having to first drill up (i.e., remove the product line and company filters). - In some embodiments, the detail screen also includes a
visible component 280 that provides a list of the available actions for the metric being viewed. In a set of embodiment, thisvisible component 280 can provide an input mechanism (such as a hyperlink, button, etc.) that allows a user to provide input to initiate a particular action. Based on this input, the dashboard application might initiate the action. - In a novel aspect of some embodiments, the dashboard application can be configured to initiate actions that occur outside the dashboard application itself. For instance, in some cases the dashboard application might be configured to invoke a business application that is associated with the data being viewed on the detail screen. Merely by way of example, the illustrated
detail screen 250 displays the “on time shipment promised” metric, and an action might be provided to invoke a sales order entry business application to view details about a particular order (or set of orders). In an aspect, the detail screen can be used to provide a context for the action. Merely by way of example, if the user has drilled down to a particular month and a particular company, the action might invoke the sales order entry application to display only orders placed by that company during the month. - Other actions are possible as well. Merely by way of example, the dashboard application might be configured to send an electronic mail message, perhaps to a person (or group of people) responsible for the business process measured by the metric. Once again, the detail screen can provide a context for the message, if desired. Merely by way of example, the message might comprise some of the displayed data, which is categorized and/or filtered according to the selected levels in the display hierarchy at the time the action is initiated. Alternatively and/or additionally, the message might comprise reference (such as a hyperlink, etc.) to the dashboard application and/or the pertinent business application(s), and the reference might refer to the relevant dashboard and/or business application in a context provided by the detail screen (e.g., by invoking the business application in context, as described above and/or by invoking the dashboard application detail screen with the display hierarchy pre-configured). Indeed, the context provided by the selected levels in the display hierarchy might even determine to whom the message is sent. Merely by way of example, if the display hierarchy currently is drilled-down to filter data by a particular company, the sales representative for that company might be included as a recipient of the electronic mail message.
- The relationships between various metrics and the responsible parties might be maintained by the dashboard application and/or might be obtained from the relevant business application(s). Merely by way of example, a business application might include a table that correlates various plants with the people who are the plant managers for those locations. In other cases, the metric data itself might reflect a responsible person (e.g., a record for a particular sales order might indicate the name of the sales representative who entered the order or is otherwise responsible for the order). Other data sources, such as human resources applications and/or databases, might be used as well by the dashboard application to identify recipients of the message.
-
FIG. 3 is a flow diagram illustrating amethod 300 of displaying data using a display hierarchy, in accordance with various embodiments of the invention. In one embodiment, the method comprises defining a display hierarchy (block 305). Defining a display hierarchy might comprise providing an input mechanism to allow a user to select one or more parameters to be levels in the display hierarchy, receiving input via the input mechanism, and defining the display hierarchy based on the received input. In some cases, the user might be given the opportunity to define, for a given parameter, a relative position in the display hierarchy for the level corresponding to that parameter. An exemplary method for defining (or generating) a display hierarchy in accordance with some embodiments is provided byFIG. 4 , described below. - After a display hierarchy has been defined (e.g., by a user, as a default display hierarchy, etc.), the dashboard application accesses and/or obtains the relevant data (block 310). In many cases, this operation is performed by interfacing with a data store and/or a business application to obtain the necessary data. The display hierarchy is then displayed (block 315), perhaps as a hierarchical list of levels in a display component, as described above with respect to
FIG. 2B , for example. In a set of embodiments, the display hierarchy comprises a plurality of levels, each of which corresponds to a parameter by which the data can be categorized. Hence, as described above, the display hierarchy provides a drill-down path by which at least a portion of the set of data can be viewed at varying levels of granularity (e.g., by filtering the data according to the parameters corresponding to the levels of the display hierarchy). - The dashboard application provides an input mechanism to allow a user to select a level in the display hierarchy (block 315). This input mechanism might be provided by making the levels in the display hierarchy selectable (e.g., as hyperlinks, etc.). In an aspect of some embodiments, as described above, the input mechanism can allow the user to arbitrarily select levels, for example by selecting any of the plurality of levels in the display hierarchy without having to first select a higher level in the display hierarchy and/or by allowing the user to select any level above the first level without having to first select a level immediately higher than the first level.
- In an aspect, the input mechanism will allow the user to identify the selected level as a filter criterion. Hence, in this manner, the user can provide a filter criterion for the display of the metric (block 325). Merely by way of example, the user can be provided with an input mechanism (such as text box, etc.) to specify a value for the parameter. This value will then be used as the filter criterion. The dashboard application then filters the data according to the filter criterion (block 330), such that only records having a data element with the particular for that parameter being included in the display of the metric (and/or the calculation of the metric for display). The filtered data (and/or, more particularly, the metric, as calculated based on the filtered data) is displayed, perhaps in a second visible component (block 335). Hence, displaying the data (and/or the metric) might comprise displaying only the filtered data. In some embodiments, the filter criterion is also displayed for the user (block 340), for example, by displaying the value next to the corresponding level in the displayed hierarchy, as illustrated on
FIG. 2B . This process can be repeated as desired for any number of levels in the display hierarchy (as indicated by the broken line onFIG. 3 ). - In some cases, an input mechanism may be used to allow the user to identify a view criterion by which the data should be categorized (block 345). After the user provides input to identify the view criterion, the data can be categorized according to this criterion, and the metric, thus categorized, can be displayed (block 350).
-
FIG. 4 is a flow diagram illustrating amethod 400 of generating a display hierarchy, in accordance with various embodiments of the invention. The method comprises accessing a set of data (e.g., at a data store associated with one or more business applications) (block 405). The data might comprise a plurality of records, each of which comprises a plurality of data elements; each data element in a record might have one or more dimensions. Based on this data, the dashboard application displays a list of available dimensions (block 410) and provides an input mechanism to allow the user to select one or more of the dimensions as view criteria (i.e., identify dimensions for categorizing the data) (block 410). Similarly the dashboard application might provide an input mechanism to allow the user to select one or more dimensions as filter criteria (i.e., identify dimensions for filtering the data) (block 415). Merely by way of example, the dashboard application might display a window (or web page, etc) showing each of the dimensions in the data set, and provide two check boxes (one for filter criterion and one for view criterion) for each dimension. By selecting the desired checkboxes, the user can identify the criteria. (It should be noted that a given dimension can be identified as both a view criterion and a filter criterion). - Based on input received from the user (e.g., via the input mechanisms), the dashboard application generates a display hierarchy for displaying the set of data (block 425) and displays (perhaps in a visible component, such as the
visible component 265 ofFIG. 2B ) a representation of the display hierarchy (block 430). The dashboard application can then provide an input mechanism to allow the user to select a dimension from the display hierarchy for categorizing and/or filtering the data (block 435), and the data can be displayed, according to the selected view and/or filter criteria (block 440), for example as described with respect toFIG. 3 . As noted above, multiple levels in the display hierarchy can be selected for filtering and/or categorizing the data in this way. -
FIG. 5 is a flow diagram illustrating amethod 500 of configuring a metric summary screen in a dashboard application, in accordance with various embodiments of the invention. Themethod 500 comprises providing a communication component (block 505) (such as the data interface described above, for example). The communication component might be in communication with a business application (and/or, more particularly, a data store associated with the business application) and/or configured to obtain data from the business application. Themethod 500 further comprises displaying a dashboard application for a user (block 510). The dashboard application might comprise a plurality of visible components (such as the visible components depicted onFIGS. 2A and 2B above). - The
method 500 further comprises identifying metrics to be displayed on a summary screen. In some cases, identifying the metrics comprises identifying a metric group (block 515) from among a list of configured metric groups. An input mechanism, such as themechanism 205 illustrated onFIG. 2A can be used for this purpose. - In particular embodiments, the dashboard application will provide a metric grouping interface to allow a user to configure metric groups. In some cases, configuring metric groups comprises creating a metric group and/or identifying a group of metrics that should be in a particular metric group (block 520). Merely by way of example,
FIG. 6 illustrates ametric grouping interface 600 that can be used to identify metrics for a particular group. Theinterface 600 comprises a list ofavailable metrics 605, along with a set of input mechanisms (e.g., input mechanism 610) for selecting a particular metric to be part of the group. Theinterface 600 also includes aninput mechanism 615 that allows the user to provide a name for the metric group, as well as aninput mechanism 620 that allows the user to provide a list of responsible persons for the metric (this list can be used by the dashboard application, for example, to determine responsible persons in taking actions, sending alerts, etc.). - Returning to
FIG. 5 , themethod 500 includes providing an input mechanism to allow a user to identify a default metric group (block 520). In this way, the user can identify which metrics should be displayed on a summary screen upon initialization of the dashboard application. - At
block 530, the dashboard application provides an input mechanism for the user to identify a metric to be displayed in a first visible component. This procedure can be repeated as desired, for example to allow the user to identify a second metric to be displayed in a second visible component, etc. The number of metrics to be displayed generally is limited only by the number of available metrics and/or the available screen real estate. (In some cases, it should be noted, that themetric group interface 600 ofFIG. 6 can be used to allow the user to identify these metrics. In other cases, metric groups might not be used, and the user can be provided with a facility to identify metrics for display on an individual basis, such that blocks 515-525 can be omitted.) - The user can also be provided with an input mechanism to specify a spatial arrangement of the displayed metrics (or, more particularly, of the visible components that are used to display the metrics) (block 525). In other words, the user can specify the order in which the metrics should appear on a summary screen. The user can also be provided with an input mechanism to identify a display mode for each of the metrics to be displayed (block 540).
- After input has been received to identify the metrics to be displayed (and, optionally, the spatial arrangement and/or display modes of the metrics), the dashboard application obtains data (from the data store) for generating and/or displaying the metrics (block 545). The metrics, or information about the metrics, is then displayed according to the input received from the user (block 550).
-
FIG. 7 is a flow diagram illustrating amethod 700 of generating actions in a dashboard application, in accordance with various embodiments of the invention. Themethod 700 comprises accessing a set of data produced by one or more business application (e.g, as described above) (block 705) and providing a dashboard application (block 710). The dashboard application, as noted above, is configured to display at least some of the data and comprises one or more visible components for this purpose. As noted above, in many cases, the data obtained by the dashboard will pertain to one or more metrics. Merely by way of example, in some cases, the data might be used to calculate and/or derive a metric, and/or the metric might comprise the data itself. - The
method 700, therefore, further comprises displaying at least some of the data (block 715). Because the data generally will pertain to a metric, displaying at least some of the data might comprise displaying the metric, as described above, for example. Themethod 700 might also comprise providing an action interface (such as thevisible component 280 illustrated onFIG. 2B ) to allow the user to select an action to be performed with respect to at least a portion of the displayed data (block 720). Upon receiving user input via the interface, the dashboard application will initiate the selected action (block 725). As noted above, a variety of actions can be supported, including, without limitation, invoking a business application, sending an electronic mail message and/or the like. Also as noted above, in many cases, the dashboard application will provide a context for the action (block 730). Merely by way of example, if a user drills down into a metric (for example, using one or more procedures described with respect toFIG. 3 ), the filtered data displayed according to the drill down path might provide the context for the action. - The dashboard application might also provide a configuration interface to configure one or more actions (block 735). Configuring an action (block 740) can include creating a new action and/or modifying an existing action. If a new action is created, the action might be displayed in the action interface. In some cases, a number of default actions are provided with the dashboard application, and configuring an action might include selecting such a pre-configured action.
-
FIG. 8 is a flow diagram illustrating a method of generating alerts in a dashboard application, in accordance with various embodiments of the invention. Themethod 800 comprises accessing a set of data produced by one or more business application (e.g., as described above) (block 805) and providing a dashboard application (block 810). The dashboard application, as noted above, is configured to display at least some of the data and comprises one or more visible components for this purpose. As noted above, in many cases, the data obtained by the dashboard will pertain to one or more metrics. Merely by way of example, in some cases, the data might be used to calculate and/or derive a metric, and/or the metric might comprise the data itself. - The
method 800, therefore, further comprises displaying at least some of the data (block 815). Because the data generally will pertain to a metric, displaying at least some of the data might comprise displaying the metric, as described above, for example. As noted above, a metric generally measures an identified business objective. Hence, themethod 800 includes providing an interface to allow a user to define a goal for the metric (block 820). The goal generally will identify a threshold value for the metric. The threshold value generally will depend on the nature of the metric itself. Merely by way of example, if the metric measures unfulfilled orders, the threshold value might indicate a maximum number of unfulfilled orders. Conversely, if the metric measures plant output, the threshold might indicate a minimum number of items output. If the goal is not being met, this indicates that the business processes being evaluated by the metric are not performing at the desired level. - Hence, if the metric does not attain the goal, an alert is triggered (block 840). A number of different types of alerts are possible. Merely by way of example, an alert might comprise sending an electronic mail message to one or more entities responsible for the metric. Alternatively and/or additionally, an alert might comprise a message displayed in the dashboard application. For instance, the
summary screen 200 depicted byFIG. 2A includes analert component 230 that can be sued to display alerts generated by the dashboard application. Generally, thealert component 230 on the summary screen will include alerts pertaining to all of the metrics shown on the summary screen (and possibly alerts pertaining to metrics that are part of metric groups not displayed on the summary screen). In addition, the alert component can display alerts pertaining to any metrics for the user is the responsible party, regardless of whether they are configured in any metric groups. - Alternatively and/or additionally, a detail screen might also include an alert component, which might display only alerts related to the metrics to which the detail screen pertains and/or might display all of the alerts for metrics configured in metric groups and/or for which the user is responsible.
- As noted above, however, metrics can be considered according to a number of dimensions, and the dashboard application allows a user to view and/or filter the metric according to any desired number of dimensions. Accordingly, in a set of embodiments, the dashboard application can establish dynamic goals (block 825). Merely by way of example, if the user has drilled down into a metric (for example, using one or more of the procedures described with respect to
FIG. 3 ), the dashboard application can establish a dynamic goal for the filtered data, and can trigger an alert (block 840) when the filtered data indicates that the dynamic goal is not being met. - There are several ways to establish a dynamic goal. Merely by way of example, in some cases, the filtered data will represent a discrete subset of the overall set of data used to calculate the metric. For instance, if the metric measures productivity over yearly periods, the user might drilled down to a particular month. Hence, the filtered data would represent 1/12 of the overall data used to produce the metric. Accordingly, the dynamic goal might be established to be 1/12 of the overall defined goal by interpolating from the overall goal. The dashboard application can be configured to perform this type of interpolation automatically, without requiring input from the user.
- It should be noted, however, that, because some metrics are cyclical, linear interpolation might be inappropriate in some cases. As an example, manufacturer of toys might expect fourth quarter sales to be significantly higher than sales in other quarters, due to the holiday season. Embodiments of the invention can account for such conditions in multiple ways. First, some embodiments provide an input mechanism to allow a user to input a value for a particular dynamic goal. This value, then, would override any interpolated goals. In some cases, the dashboard would adjust other dynamic goals to maintain consistency with both the input value and the overall defined goal for the metric. Second, other embodiments provide pre-configured interpolation algorithms to account for cyclical metrics. Such algorithms can automatically account for varying values among a particular dimension (such as the case when one plant is expect to produce more output than other plants, etc.).
- Conversely, the dynamic goals can be “rolled up” to produce an aggregate goal over some collection of drill down data subsets (block 830). For example, if a metric has a defined goal for an annual period, and the drill down path provides for filtering the data on a monthly basis (thus establishing dynamic monthly goals), the dashboard application can produce an aggregate goal for a time period of multiple months (but less than a year) by aggregating the necessary monthly goals. This aggregate goal can be compared with an aggregate metric generated by aggregating the actual data sets for the pertinent months. If the aggregation of this plurality of data sets indicates that the aggregate goal is not being met, and alert is triggered (block 840).
- Other embodiments provide for system alerts. An exemplary system alert might be generated when an abnormal condition (e.g., an equipment failure, etc.) is detected by the dashboard application and/or by a business application. Merely by way of example, one skilled in the art will appreciate that many business application provide interfaces to common manufacturing equipment, and through such interfaces can detect abnormal conditions in such equipment. When such an abnormal condition is detected (block 835), an alert can be triggered (block 840).
-
FIG. 9 provides a schematic illustration of one embodiment of acomputer system 900 that can perform the methods of the invention and/or the functions of a dashboard application server, client computer, business application server, database server, and/or the like, as described herein. It should be noted thatFIG. 9 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate.FIG. 9 , therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner. Thecomputer system 900 is shown comprising hardware elements that can electrically coupled via a bus 905 (or may otherwise be in communication, as appropriate). The hardware elements can include one ormore processors 910, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration chips, and/or the like); one ormore input devices 915, which can include without limitation a mouse, a keyboard and/or the like; and one ormore output devices 920, which can include without limitation a display device, a printer and/or the like. - The
computer system 900 may further include (and/or be in communication with) one ormore storage devices 925, which can comprise, without limitation, local and/or network accessible storage and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like. The computer system 9 might also include acommunications subsystem 930; which can include without limitation a modem, a network card (wireless or wired), an infra-red communication device, and/or the like), a wireless communication device and/or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.). Thecommunications system 930 may permit data to be exchanged with a network (such as thenetwork 1010 described below, and/or any other devices described herein. In many embodiments, thecomputer system 900 will further comprise amemory 935, which can include a RAM or ROM device, as described above. - The
computer system 900 also can comprise software elements, shown as being currently located within the workingmemory 935, including anoperating system 940 and/orother code 945, such as one or more application programs, which may comprise computer programs of the invention (such as a dashboard application, web server, web browser, etc.) and/or may be designed to implement methods of the invention, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as instructions executable by a computer (and/or a processor within a computer). A set of these instructions might be stored on a computer-readable storage medium, such as the storage device(s) 925 described above. In some cases, the storage medium might be incorporated within a computer system, such that the instructions, when executed by the computer system, perform the procedures of the method(s). In other embodiments, the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), such that the storage medium can be used to program a generic computer with the instructions stored thereon. - It will be apparent to those skilled in the art that substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.
- A set of embodiments comprises systems for implementing a dashboard application. Merely by way of example,
FIG. 10 illustrates a schematic diagram of asystem 1000 that can be used in accordance with one set of embodiments. Thesystem 1000 can include one or more user computers 1005. The user computers 1005 can be general purpose personal computers (including, merely by way of example, personal computers and/or laptop computers running any appropriate flavor of Microsoft Corp.'s Windows™ and/or Apple Corp.'s Macintosh™ operating systems) and/or workstation computers running any of a variety of commercially-available UNIX™ or UNIX-like operating systems. These user computers 1005 can also have any of a variety of applications, including one or more applications configured to perform methods of the invention, as well as one or more office applications, database client and/or server applications, and web browser applications. Alternatively, the user computers 1005 can be any other electronic device, such as a thin-client computer, Internet-enabled mobile telephone, and/or personal digital assistant, capable of communicating via a network (e.g., thenetwork 1010 described below) and/or displaying and navigating web pages or other types of electronic documents. Although theexemplary system 1000 is shown with three user computers, any number of user computers can be supported. - Certain embodiments of the invention operate in a networked environment, which can include a
network 1010. Thenetwork 1010 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, thenetwork 1010 can be a local area network (“LAN”), including without limitation an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network, including without limitation a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth™ protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks. - Embodiments of the invention can include one or more server computers 1015. Each of the server computers 1015 may be configured with an operating system including without limitation any of those discussed above, as well as any commercially-available server operating systems. Each of the servers 1015 may also be running one or more applications, which can be configured to provide services to one or more clients 1005 and/or other servers 1015.
- Merely by way of example, one of the servers 1015 may be a web server, which can be used, merely by way of example, to process requests for web pages or other electronic documents from user computers 1005. The web server can also run a variety of server applications, including HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like. In some embodiments of the invention, the web server may be configured to serve web pages that can be operated within a web browser on one or more of the user computers 1005 to perform methods of the invention.
- The server computers 1015, in some embodiments, might include one ore more file and/or application servers, which can include one or more applications accessible by a client running on one or more of the client computers 1005 and/or other servers 1015. Merely by way of example, the server(s) 1015 can be one or more general purpose computers capable of executing programs or scripts in response to the user computers 1005 and/or other servers 1015, including without limitation web applications (which might, in some cases, be configured to perform methods of the invention). Merely by way of example, a web application can be implemented as one or more scripts or programs written in any programming language, such as Java™, C, C#™ or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The application server(s) can also include database servers, including without limitation those commercially available from Oracle™, Microsoft™, Sybase™, IBM™ and the like, which can process requests from database clients running on a user computer 1005 and/or another server 1015. In some embodiments, an application server can create web pages dynamically for displaying the information in accordance with embodiments of the invention, such as dashboard application pages (e.g., summary pages, detail pages, visible components, etc.). Data provided by an application server may be formatted as web pages (comprising HTML, Javascript, etc., for example) and/or may be forwarded to a user computer 1005 via a web server (as described above, for example). Similarly, a web server might receive web page requests and/or input data from a user computer 1005 and/or forward the web page requests and/or input data to an application server.
- In accordance with further embodiments, one or more servers 1015 can function as a file server and/or can include one or more of the files necessary to implement methods of the invention incorporated by an application running on a user computer 1005 and/or another server 1015. Alternatively, as those skilled in the art will appreciate, a file server can include all necessary files, allowing such an application to be invoked remotely by a user computer 1005 and/or server 1015. It should be noted that the functions described with respect to various servers herein (e.g., application server, database server, web server, file server, etc.) can be performed by a single server and/or a plurality of specialized servers, depending on implementation-specific needs and parameters.
- In certain embodiments, the system can include one or more databases 1020. The location of the database(s) 1020 is discretionary: merely by way of example, a
database 1020 a might reside on a storage medium local to (and/or resident in) aserver 1015 a (and/or a user computer 1005). Alternatively and/or additionally, adatabase 1020 b can be remote from any or all of the computers 1005, 1015, so long as it can be in communication (e.g., via the network 1010) with one or more of these. In a particular set of embodiments, a database 1020 can reside in a storage-area network (“SAN”) familiar to those skilled in the art. (Likewise, any necessary files for performing the functions attributed to the computers 1005, 1015 can be stored locally on the respective computer and/or remotely, as appropriate.) In one set of embodiments, a database 1020 can be a relational database, such as an Oracle database, that is adapted to store, update, and retrieve data in response to SQL-formatted commands. The database might be controlled and/or maintained by a database server, as described above, for example. In particular embodiments, the database server might be configured with DBMS software and/or storage management software. - While the invention has been described with respect to exemplary embodiments, one skilled in the art will recognize, based on the disclosure herein, that numerous modifications are possible. For example, the methods and processes described herein may be implemented using hardware components, software components, and/or any combination thereof. Further, while various methods and processes described herein may be described with respect to particular structural and/or functional components for ease of description, methods of the invention are not limited to any particular structural and/or functional architecture but instead can be implemented on any suitable hardware, firmware and/or software configuration. Similarly, while various functionality is ascribed to certain system components, unless the context dictates otherwise, this functionality can be distributed among various other system components in accordance with different embodiments of the invention.
- Moreover, while the procedures comprised in the methods and processes described herein are described in a particular order for ease of description, unless the context dictates otherwise, various procedures may be reordered, added, and/or omitted in accordance with various embodiments of the invention. Moreover, the procedures described with respect to one method or process may be incorporated within other described methods or processes; likewise, system components described according to a particular structural architecture and/or with respect to one system may be organized in alternative structural architectures and/or incorporated within other described systems. Hence, while various embodiments are described with—or without—certain features for ease of description and to illustrate exemplary features, the various components and/or features described herein with respect to a particular embodiment can be substituted, added and/or subtracted from among other described embodiments, unless the context dictates otherwise. Consequently, although the invention has been described with respect to exemplary embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
Claims (22)
1. In a computer system, a method of presenting data to a user, the method comprising:
accessing a set of data produced by one or more business applications, the set of data being stored in a data store;
providing a dashboard application configured to display at least some of the set of data, wherein the dashboard application comprises a first visible component; and wherein the set of data pertains to a metric that measures an identified business objective;
displaying, in the first visible component, at least some of the set of data;
providing an interface to allow a user to define a goal for the metric, wherein the goal identifies a threshold value for the metric; and
triggering an alert when the metric does not attain the goal.
2. A method as recited by claim 1 , wherein the set of data pertains to a metric.
3. A method as recited by claim 2 , wherein at least some of the set of data is used to calculate the metric.
4. A method as recited by claim 2 , wherein displaying at least some of the set of data comprises displaying the metric.
5. A method as recited by claim 1 , wherein the set of data pertains to the operation of one or more pieces of equipment, and wherein the method further comprises:
detecting an abnormal condition in a piece of equipment; and
triggering an alert based on the abnormal condition.
6. A method as recited by claim 1 , wherein triggering an alert comprises sending an electronic mail message to an entity responsible for the metric.
7. A method as recited by claim 6 , wherein the entity is the user.
8. A method as recited by claim 1 , wherein triggering an alert comprises displaying a message in the dashboard application.
9. A method as recited by claim 1 , further comprising:
providing an input mechanism to allow the user to define one or more filter criteria; and
filtering the set of data according to the one or more filter criteria;
wherein displaying at least some of the data comprises displaying the filtered data.
10. A method as recited by claim 9 , further comprising:
establishing a dynamic goal for the filtered data, based at least in part on the goal defined for the metric; and
triggering an alert when the filtered data indicates that the dynamic goal is not being met.
11. A method as recited by claim 10 , wherein the filtered data is a discrete subset of the set of data, and wherein establishing the dynamic goal comprises interpolating from the defined goal based on a relationship between the filtered data and the set of data.
12. A method as recited by claim 9 , wherein establishing the dynamic goal comprises providing an input mechanism for a user to input a value for the dynamic goal.
13. A method as recited by claim 9 , further comprising:
aggregating a plurality of dynamic goals to produce an aggregate dynamic goal, each of the plurality of dynamic goals being associated with a different one of a plurality of sets of filtered data; and
triggering an alert if an aggregation of the plurality of sets of filtered data indicates that the aggregate dynamic goal is not being met.
14. A method as recited by claim 1 , wherein the set of data comprises a plurality of records, each of the plurality of records comprising a plurality of data elements, wherein each data element in a record has at least one corresponding dimension, the method further comprising:
displaying, for the user, a list of available dimensions;
providing a first input mechanism to allow the user to select one or more dimensions for categorizing the plurality of records;
receiving, from the user and via the first input mechanism, an identification of a first set of one or more dimensions by which the plurality of records are to be categorized;
providing a second input mechanism to allow the user to select one or more dimensions for filtering the set of data;
receiving, from the user and via the second input mechanism, an identification of a second set of one or more dimensions by which the plurality of records are be filtered;
generating a display hierarchy for displaying the set of data, based on the second set of dimensions; and
displaying, for the user, a representation of the display hierarchy.
15. A method as recited by claim 1 , wherein a web page comprises the first visible component and the interface.
16. A method as recited by claim 1 , further comprising:
providing a second interface to allow a user to select an action to be performed, with respect to at least a portion of the data, outside the dashboard application; and
initiating, with the dashboard application, the selected action.
17. A system, comprising:
means for accessing a set of data produced by one or more business applications, the set of data being stored in a data store;
means for providing a dashboard application configured to display at least some of the set of data, wherein the dashboard application comprises a first visible component; and
wherein the set of data pertains to a metric that measures an identified business objective;
means for displaying, in the first visible component, at least some of the set of data;
means for providing an interface to allow a user to define a goal for the metric, wherein the goal identifies a threshold value for the metric; and
means for triggering an alert when the metric does not attain the goal.
18. A computer system comprising:
a processor;
a communication interface; and
a computer readable medium, the computer readable medium comprising a set of instructions executable by the processor, the set of instructions comprising:
instructions to access a set of data produced by one or more business applications, the set of data being stored in a data store;
instructions to provide a dashboard application configured to display at least some of the set of data, wherein the dashboard application comprises a first visible component; and wherein the set of data pertains to a metric that measures an identified business objective;
instructions to display, in the first visible component, at least some of the set of data;
instructions to provide an interface to allow a user to define a goal for the metric, wherein the goal identifies a threshold value for the metric; and
instructions to trigger an alert when the metric does not attain the goal.
19. A computer system as recited by claim 18 , wherein the computer system comprises a server computer, the server computer being in communication with a client computer, and wherein the instructions to display the at least some of the set of data comprise instructions to transmit information to the client computer for displaying the first visible component, and wherein the instructions to provide an interface to allow a user to define a goal for the metric comprise instructions to provide the interface on the client computer.
20. A computer system as recited by claim 19 , wherein the server computer comprises a web server and the client computer comprises a web browser, and wherein the first visible component, and the interface, are provided by the web server to the web browser.
21. A computer system as recited by claim 18 , wherein the instructions to access a set of data comprise:
instructions to establish communication with the data store;
instructions to request the set of data from the data store; and
instructions to receive the set of data from the data store.
22. A computer readable medium having stored thereon a set of instructions executable by one or more processors, the set of instructions comprising:
instructions to access a set of data produced by one or more business applications, the set of data being stored in a data store;
instructions to provide a dashboard application configured to display at least some of the set of data, wherein the dashboard application comprises a first visible component; and wherein the set of data pertains to a metric that measures an identified business objective;
instructions to display, in the first visible component, at least some of the set of data;
instructions to provide an interface to allow a user to define a goal for the metric, wherein the goal identifies a threshold value for the metric; and
instructions to trigger an alert when the metric does not attain the goal.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/746,103 US9396474B2 (en) | 2006-12-28 | 2007-05-09 | Drill down functionality in a dashboard application |
US11/746,216 US20080162210A1 (en) | 2006-12-28 | 2007-05-09 | Configurable goals in a dashborad application |
US11/746,154 US9361622B2 (en) | 2006-12-28 | 2007-05-09 | Multi-dimensioned data hierarchies |
US13/340,950 US9443247B2 (en) | 2006-12-28 | 2011-12-30 | Configurable metric groups for presenting data to a user |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88253806P | 2006-12-28 | 2006-12-28 | |
US11/746,216 US20080162210A1 (en) | 2006-12-28 | 2007-05-09 | Configurable goals in a dashborad application |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080162210A1 true US20080162210A1 (en) | 2008-07-03 |
Family
ID=39585251
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/746,154 Active 2029-01-18 US9361622B2 (en) | 2006-12-28 | 2007-05-09 | Multi-dimensioned data hierarchies |
US11/746,178 Active 2029-10-30 US8161394B2 (en) | 2006-12-28 | 2007-05-09 | Configurable metric groups for presenting data to a user |
US11/746,216 Abandoned US20080162210A1 (en) | 2006-12-28 | 2007-05-09 | Configurable goals in a dashborad application |
US11/746,127 Abandoned US20080162209A1 (en) | 2006-12-28 | 2007-05-09 | Configurable actions in a dashboard application |
US11/746,103 Active 2028-10-03 US9396474B2 (en) | 2006-12-28 | 2007-05-09 | Drill down functionality in a dashboard application |
US13/340,950 Active 2030-07-28 US9443247B2 (en) | 2006-12-28 | 2011-12-30 | Configurable metric groups for presenting data to a user |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/746,154 Active 2029-01-18 US9361622B2 (en) | 2006-12-28 | 2007-05-09 | Multi-dimensioned data hierarchies |
US11/746,178 Active 2029-10-30 US8161394B2 (en) | 2006-12-28 | 2007-05-09 | Configurable metric groups for presenting data to a user |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/746,127 Abandoned US20080162209A1 (en) | 2006-12-28 | 2007-05-09 | Configurable actions in a dashboard application |
US11/746,103 Active 2028-10-03 US9396474B2 (en) | 2006-12-28 | 2007-05-09 | Drill down functionality in a dashboard application |
US13/340,950 Active 2030-07-28 US9443247B2 (en) | 2006-12-28 | 2011-12-30 | Configurable metric groups for presenting data to a user |
Country Status (1)
Country | Link |
---|---|
US (6) | US9361622B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163099A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Drill down functionality in a dashboard application |
US8126750B2 (en) | 2006-04-27 | 2012-02-28 | Microsoft Corporation | Consolidating data source queries for multidimensional scorecards |
US8190992B2 (en) | 2006-04-21 | 2012-05-29 | Microsoft Corporation | Grouping and display of logically defined reports |
US8261181B2 (en) | 2006-03-30 | 2012-09-04 | Microsoft Corporation | Multidimensional metrics-based annotation |
US8321805B2 (en) | 2007-01-30 | 2012-11-27 | Microsoft Corporation | Service architecture based metric views |
US20130019197A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Displaying computer dashboard information |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US8700637B2 (en) | 2010-11-08 | 2014-04-15 | Lockheed Martin Corporation | Complex event processing engine |
US9058307B2 (en) | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US20150220869A1 (en) * | 2012-10-17 | 2015-08-06 | Spencer & Associates Publishing, Ltd. | Evaluation of output-producing asset productivity |
US9767669B2 (en) | 2013-03-14 | 2017-09-19 | International Business Machines Corporation | Automatic adjustment of metric alert trigger thresholds |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090070179A1 (en) * | 2007-04-19 | 2009-03-12 | Julian Renato Kalmar | Impact meter |
US9323247B2 (en) * | 2007-09-14 | 2016-04-26 | Fisher-Rosemount Systems, Inc. | Personalized plant asset data representation and search system |
US20090210386A1 (en) * | 2008-02-20 | 2009-08-20 | Cahill James S | Methods and apparatus to create process plant operator interfaces |
US20100057646A1 (en) * | 2008-02-24 | 2010-03-04 | Martin Neil A | Intelligent Dashboards With Heuristic Learning |
US20090217194A1 (en) * | 2008-02-24 | 2009-08-27 | Neil Martin | Intelligent Dashboards |
US8924881B2 (en) * | 2008-02-24 | 2014-12-30 | The Regents Of The University Of California | Drill down clinical information dashboard |
US20090276730A1 (en) * | 2008-03-04 | 2009-11-05 | Alexandre Aybes | Techniques for navigation of hierarchically-presented data |
US9135331B2 (en) | 2008-04-07 | 2015-09-15 | Philip J. Rosenthal | Interface including graphic representation of relationships between search results |
US8341163B2 (en) * | 2008-06-17 | 2012-12-25 | Microsoft Corporation | Techniques for filter sharing |
CA2670541A1 (en) * | 2008-06-30 | 2009-12-30 | The Regents Of The University Of California | Web based access to clinical records |
US8381124B2 (en) * | 2008-07-30 | 2013-02-19 | The Regents Of The University Of California | Single select clinical informatics |
US20100058181A1 (en) * | 2008-08-26 | 2010-03-04 | Oracle International Corporation | Recording, playback, and distribution of dashboard interactions including annotations |
US8041714B2 (en) * | 2008-09-15 | 2011-10-18 | Palantir Technologies, Inc. | Filter chains with associated views for exploring large data sets |
US8225230B2 (en) * | 2008-09-19 | 2012-07-17 | International Business Machines Corporation | Providing a hierarchical filtered view of an object model and its interdependencies |
US9280777B2 (en) * | 2009-09-08 | 2016-03-08 | Target Brands, Inc. | Operations dashboard |
CA2684540A1 (en) | 2009-11-05 | 2011-05-05 | Ibm Canada Limited - Ibm Canada Limitee | Navigation through historical stored interactions associated with a multi-user view |
US8874600B2 (en) * | 2010-01-30 | 2014-10-28 | International Business Machines Corporation | System and method for building a cloud aware massive data analytics solution background |
US8914544B2 (en) * | 2010-06-23 | 2014-12-16 | Smartek21, Llc | Computer-implemented system and method for transparently interfacing with legacy line of business applications |
US9189541B2 (en) * | 2010-09-24 | 2015-11-17 | International Business Machines Corporation | Evidence profiling |
CN102446311B (en) * | 2010-10-15 | 2016-12-21 | 商业对象软件有限公司 | The business intelligence of proceduredriven |
US9378111B2 (en) * | 2010-11-11 | 2016-06-28 | Sap Se | Method and system for easy correlation between monitored metrics and alerts |
US9111238B2 (en) | 2010-12-17 | 2015-08-18 | Microsoft Technology Licensing, Llc | Data feed having customizable analytic and visual behavior |
US9069557B2 (en) * | 2010-12-17 | 2015-06-30 | Microsoft Technology Licensing, LLP | Business intelligence document |
US9104992B2 (en) | 2010-12-17 | 2015-08-11 | Microsoft Technology Licensing, Llc | Business application publication |
US9311353B2 (en) | 2011-06-29 | 2016-04-12 | International Business Machines Corporation | Control elements of graphical user interfaces |
US8818933B2 (en) * | 2011-07-06 | 2014-08-26 | Verizon Patent And Licensing Inc. | Live dashboard |
US8863022B2 (en) * | 2011-09-07 | 2014-10-14 | Microsoft Corporation | Process management views |
US10146846B2 (en) * | 2011-09-30 | 2018-12-04 | Oracle International Corporation | User interface for efficiently changing search criteria |
US10114679B2 (en) | 2011-10-26 | 2018-10-30 | Microsoft Technology Licensing, Llc | Logical CPU division usage heat map representation |
US9135135B2 (en) | 2012-06-28 | 2015-09-15 | Sap Se | Method and system for auto-adjusting thresholds for efficient monitoring of system metrics |
US9658672B2 (en) | 2012-07-30 | 2017-05-23 | Sap Se | Business object representations and detail boxes display |
US9123030B2 (en) | 2012-07-30 | 2015-09-01 | Sap Se | Indication of off-screen calendar objects |
US9483086B2 (en) | 2012-07-30 | 2016-11-01 | Sap Se | Business object detail display |
US9183529B2 (en) * | 2012-08-01 | 2015-11-10 | Oracle International Corporation | Business intelligence performance analysis system |
US8832583B2 (en) * | 2012-08-31 | 2014-09-09 | Sap Se | Visualizing entries in a calendar using the third dimension |
US9081466B2 (en) | 2012-09-10 | 2015-07-14 | Sap Se | Dynamic chart control that triggers dynamic contextual actions |
US9250781B2 (en) | 2012-10-17 | 2016-02-02 | Sap Se | Method and device for navigating time and timescale using movements |
US8972883B2 (en) | 2012-10-19 | 2015-03-03 | Sap Se | Method and device for display time and timescale reset |
US20140244343A1 (en) * | 2013-02-22 | 2014-08-28 | Bank Of America Corporation | Metric management tool for determining organizational health |
WO2014138271A2 (en) * | 2013-03-05 | 2014-09-12 | Whitehead Cindy | Cloud-based real-time value stream mapping system and method |
US20140278826A1 (en) * | 2013-03-15 | 2014-09-18 | Adp, Inc. | Enhanced Human Capital Management System and Method |
US20140297455A1 (en) * | 2013-03-29 | 2014-10-02 | Ebay Inc. | Routine suggestion system |
US9922139B2 (en) * | 2013-06-05 | 2018-03-20 | Tencent Technology (Shenzhen) Company Limited | Method and device for data screening |
US10134159B1 (en) * | 2013-07-19 | 2018-11-20 | Intuit Inc. | Data-model-driven visualization of data sets |
US9418347B2 (en) * | 2013-08-01 | 2016-08-16 | Adobe Systems Incorporated | Integrated display of data metrics from different data sources |
US9646276B2 (en) * | 2013-08-23 | 2017-05-09 | AppDynamics, Inc. | Dashboard for dynamic display of distributed transaction data |
US20150106748A1 (en) * | 2013-10-16 | 2015-04-16 | Charles Monte | Document exploration, analysis, and collaboration techniques |
US20150294256A1 (en) * | 2014-04-11 | 2015-10-15 | Microsoft Technology Licensing, Llc | Scenario modeling and visualization |
US9996446B2 (en) | 2014-04-28 | 2018-06-12 | Microsoft Technology Licensing, Llc | User experience diagnostics with actionable insights |
US10049141B2 (en) | 2014-10-10 | 2018-08-14 | salesforce.com,inc. | Declarative specification of visualization queries, display formats and bindings |
US9600548B2 (en) | 2014-10-10 | 2017-03-21 | Salesforce.Com | Row level security integration of analytical data store with cloud architecture |
US10101889B2 (en) | 2014-10-10 | 2018-10-16 | Salesforce.Com, Inc. | Dashboard builder with live data updating without exiting an edit mode |
US9449188B2 (en) | 2014-10-10 | 2016-09-20 | Salesforce.Com, Inc. | Integration user for analytical access to read only data stores generated from transactional systems |
JP6525252B2 (en) * | 2015-03-31 | 2019-06-05 | Necソリューションイノベータ株式会社 | INFORMATION DISPLAY DEVICE, INFORMATION DISPLAY METHOD, INFORMATION DISPLAY SYSTEM, PROGRAM, AND RECORDING MEDIUM |
US10115213B2 (en) | 2015-09-15 | 2018-10-30 | Salesforce, Inc. | Recursive cell-based hierarchy for data visualizations |
US10089368B2 (en) | 2015-09-18 | 2018-10-02 | Salesforce, Inc. | Systems and methods for making visual data representations actionable |
US10354002B2 (en) * | 2015-12-01 | 2019-07-16 | Business Objects Software Ltd. | Interaction relationship building and explorer for dashboard |
US10387527B2 (en) | 2016-02-18 | 2019-08-20 | International Business Machines Corporation | Global filtering across heterogeneous datasets |
CN109074600A (en) * | 2016-04-25 | 2018-12-21 | 弗利普提克斯有限公司 | For to provide the system and method for the third market using ticket |
US10579238B2 (en) | 2016-05-13 | 2020-03-03 | Sap Se | Flexible screen layout across multiple platforms |
US10353534B2 (en) * | 2016-05-13 | 2019-07-16 | Sap Se | Overview page in multi application user interface |
US11210278B1 (en) | 2016-07-31 | 2021-12-28 | Splunk Inc. | Asset group interface driven by search-derived asset tree hierarchy |
US10564622B1 (en) | 2016-07-31 | 2020-02-18 | Splunk Inc. | Control interface for metric definition specification for assets and asset groups driven by search-derived asset tree hierarchy |
US10503784B1 (en) | 2016-07-31 | 2019-12-10 | Splunk Inc. | Control interface for asset tree monitoring |
US10311047B2 (en) | 2016-10-19 | 2019-06-04 | Salesforce.Com, Inc. | Streamlined creation and updating of OLAP analytic databases |
JP6817865B2 (en) * | 2017-03-28 | 2021-01-20 | 株式会社オービック | Information display device, information display method and information display program |
US10380771B2 (en) * | 2017-05-16 | 2019-08-13 | Sap Se | Data insights for visualizations based on dimensions |
CN110019431B (en) * | 2017-12-11 | 2022-04-12 | 北京京东尚科信息技术有限公司 | Data visualization processing method and system and terminal equipment |
US11269905B2 (en) | 2019-06-20 | 2022-03-08 | International Business Machines Corporation | Interaction between visualizations and other data controls in an information system by matching attributes in different datasets |
US11275792B2 (en) | 2019-11-01 | 2022-03-15 | Business Objects Software Ltd | Traversing hierarchical dimensions for dimension-based visual elements |
US11526526B2 (en) * | 2019-11-01 | 2022-12-13 | Sap Se | Generating dimension-based visual elements |
US11803761B2 (en) * | 2019-11-20 | 2023-10-31 | Business Objects Software Ltd | Analytic insights for hierarchies |
US11687211B2 (en) * | 2020-04-22 | 2023-06-27 | Microstrategy Incorporated | System and method for dossier creation with linking dossiers and context passing |
US11551149B2 (en) * | 2020-05-18 | 2023-01-10 | Inventus Holdings, Llc | Systems and methods for classifying sensor data |
US11922529B2 (en) * | 2020-09-18 | 2024-03-05 | Hartford Fire Insurance Company | Enterprise system and method for vendor logistical variance management |
CN112508759B (en) * | 2020-12-10 | 2022-03-15 | 清研灵智信息咨询(北京)有限公司 | Big data management and mining system based on micro-service |
US20230214096A1 (en) * | 2022-01-06 | 2023-07-06 | Honeywell International Inc. | Systems and methods for navigating a graphical user interface |
US20240211870A1 (en) | 2022-12-23 | 2024-06-27 | Michael Bloom | Web-based inventory management system and method |
Citations (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US259477A (en) * | 1882-06-13 | Electric arc lamp | ||
US5537590A (en) * | 1993-08-05 | 1996-07-16 | Amado; Armando | Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets |
US5701400A (en) * | 1995-03-08 | 1997-12-23 | Amado; Carlos Armando | Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data |
US6072493A (en) * | 1997-03-31 | 2000-06-06 | Bellsouth Corporation | System and method for associating services information with selected elements of an organization |
US6289382B1 (en) * | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US6560569B1 (en) * | 1998-05-13 | 2003-05-06 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
US20030115188A1 (en) * | 2001-12-19 | 2003-06-19 | Narayan Srinivasa | Method and apparatus for electronically extracting application specific multidimensional information from a library of searchable documents and for providing the application specific information to a user application |
US20030144868A1 (en) * | 2001-10-11 | 2003-07-31 | Macintyre James W. | System, method, and computer program product for processing and visualization of information |
US20040015381A1 (en) * | 2002-01-09 | 2004-01-22 | Johnson Christopher D. | Digital cockpit |
US20040049477A1 (en) * | 2002-09-06 | 2004-03-11 | Iteration Software, Inc. | Enterprise link for a software database |
US20040073468A1 (en) * | 2002-10-10 | 2004-04-15 | Caterpillar Inc. | System and method of managing a fleet of machines |
US6751621B1 (en) * | 2000-01-27 | 2004-06-15 | Manning & Napier Information Services, Llc. | Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors |
US6775675B1 (en) * | 2001-04-04 | 2004-08-10 | Sagemetrics Corporation | Methods for abstracting data from various data structures and managing the presentation of the data |
US6839719B2 (en) * | 2002-05-14 | 2005-01-04 | Time Industrial, Inc. | Systems and methods for representing and editing multi-dimensional data |
US20050114206A1 (en) * | 2003-11-25 | 2005-05-26 | Dominic Bennett | Database structure and front end |
US20060089939A1 (en) * | 2002-09-06 | 2006-04-27 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
US7039871B2 (en) * | 2000-10-27 | 2006-05-02 | Swiftknowledge, Inc. | Secure data access in a multidimensional data environment |
US20060206837A1 (en) * | 2005-03-10 | 2006-09-14 | Siemens Aktiengesellschaft | Presentation of hierarchical software structures |
US7110997B1 (en) * | 2003-05-15 | 2006-09-19 | Oracle International Corporation | Enhanced ad-hoc query aggregation |
US7149983B1 (en) * | 2002-05-08 | 2006-12-12 | Microsoft Corporation | User interface and method to facilitate hierarchical specification of queries using an information taxonomy |
US7151438B1 (en) * | 2003-08-06 | 2006-12-19 | Unisys Corporation | System and wireless device for providing real-time alerts in response to changes in business operational data |
US20070061283A1 (en) * | 2005-06-30 | 2007-03-15 | Cognos Incorporated | Business intelligence incorporated business process management system and method thereof |
US7216086B1 (en) * | 2001-04-30 | 2007-05-08 | Cisco Technology, Inc. | Method and apparatus providing a supply chain management system useful in outsourced manufacturing |
US20070136256A1 (en) * | 2005-12-01 | 2007-06-14 | Shyam Kapur | Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy |
US20070185751A1 (en) * | 2006-01-11 | 2007-08-09 | Dempers Ramon J | Drug life cycle management system |
US20070203902A1 (en) * | 2006-02-24 | 2007-08-30 | Lars Bauerle | Unified interactive data analysis system |
US20070260625A1 (en) * | 2006-04-21 | 2007-11-08 | Microsoft Corporation | Grouping and display of logically defined reports |
US7353464B1 (en) * | 2002-04-01 | 2008-04-01 | Microsoft Corporation | Hierarchical data navigation tool populated by a web service |
US20080163066A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Configurable metric groups |
US7499922B1 (en) * | 2001-04-26 | 2009-03-03 | Dakota Software Corp. | Information retrieval system and method |
US7506274B2 (en) * | 2005-05-18 | 2009-03-17 | Microsoft Corporation | System and method for interactively displaying multi-dimensional data |
US7613719B2 (en) * | 2004-03-18 | 2009-11-03 | Microsoft Corporation | Rendering tables with natural language commands |
US7694239B2 (en) * | 2006-01-23 | 2010-04-06 | International Business Machines Corporation | Selection and deselection of objects at multiple levels of a hierarchy |
US7840607B2 (en) * | 2004-08-06 | 2010-11-23 | Siemens Aktiengesellschaft | Data mart generation and use in association with an operations intelligence platform |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537690A (en) * | 1994-05-02 | 1996-07-23 | Johnson; Christina E. | Body support garment |
US7478151B1 (en) | 2003-01-23 | 2009-01-13 | Gomez, Inc. | System and method for monitoring global network performance |
JP2006318033A (en) * | 2005-05-10 | 2006-11-24 | Olympus Imaging Corp | Image management device, image management program, image management method and storage medium |
-
2007
- 2007-05-09 US US11/746,154 patent/US9361622B2/en active Active
- 2007-05-09 US US11/746,178 patent/US8161394B2/en active Active
- 2007-05-09 US US11/746,216 patent/US20080162210A1/en not_active Abandoned
- 2007-05-09 US US11/746,127 patent/US20080162209A1/en not_active Abandoned
- 2007-05-09 US US11/746,103 patent/US9396474B2/en active Active
-
2011
- 2011-12-30 US US13/340,950 patent/US9443247B2/en active Active
Patent Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US259477A (en) * | 1882-06-13 | Electric arc lamp | ||
US5537590A (en) * | 1993-08-05 | 1996-07-16 | Amado; Armando | Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets |
US5701400A (en) * | 1995-03-08 | 1997-12-23 | Amado; Carlos Armando | Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data |
US6072493A (en) * | 1997-03-31 | 2000-06-06 | Bellsouth Corporation | System and method for associating services information with selected elements of an organization |
US6560569B1 (en) * | 1998-05-13 | 2003-05-06 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
US6289382B1 (en) * | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US6751621B1 (en) * | 2000-01-27 | 2004-06-15 | Manning & Napier Information Services, Llc. | Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors |
US7039871B2 (en) * | 2000-10-27 | 2006-05-02 | Swiftknowledge, Inc. | Secure data access in a multidimensional data environment |
US6775675B1 (en) * | 2001-04-04 | 2004-08-10 | Sagemetrics Corporation | Methods for abstracting data from various data structures and managing the presentation of the data |
US7499922B1 (en) * | 2001-04-26 | 2009-03-03 | Dakota Software Corp. | Information retrieval system and method |
US7216086B1 (en) * | 2001-04-30 | 2007-05-08 | Cisco Technology, Inc. | Method and apparatus providing a supply chain management system useful in outsourced manufacturing |
US20030144868A1 (en) * | 2001-10-11 | 2003-07-31 | Macintyre James W. | System, method, and computer program product for processing and visualization of information |
US20030115188A1 (en) * | 2001-12-19 | 2003-06-19 | Narayan Srinivasa | Method and apparatus for electronically extracting application specific multidimensional information from a library of searchable documents and for providing the application specific information to a user application |
US20040015381A1 (en) * | 2002-01-09 | 2004-01-22 | Johnson Christopher D. | Digital cockpit |
US7353464B1 (en) * | 2002-04-01 | 2008-04-01 | Microsoft Corporation | Hierarchical data navigation tool populated by a web service |
US7149983B1 (en) * | 2002-05-08 | 2006-12-12 | Microsoft Corporation | User interface and method to facilitate hierarchical specification of queries using an information taxonomy |
US7395511B1 (en) * | 2002-05-08 | 2008-07-01 | Microsoft Corporation | User interface and method to facilitate hierarchical specification of queries using an information taxonomy |
US6839719B2 (en) * | 2002-05-14 | 2005-01-04 | Time Industrial, Inc. | Systems and methods for representing and editing multi-dimensional data |
US20060089939A1 (en) * | 2002-09-06 | 2006-04-27 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
US20040049477A1 (en) * | 2002-09-06 | 2004-03-11 | Iteration Software, Inc. | Enterprise link for a software database |
US20040073468A1 (en) * | 2002-10-10 | 2004-04-15 | Caterpillar Inc. | System and method of managing a fleet of machines |
US7110997B1 (en) * | 2003-05-15 | 2006-09-19 | Oracle International Corporation | Enhanced ad-hoc query aggregation |
US7151438B1 (en) * | 2003-08-06 | 2006-12-19 | Unisys Corporation | System and wireless device for providing real-time alerts in response to changes in business operational data |
US20050114206A1 (en) * | 2003-11-25 | 2005-05-26 | Dominic Bennett | Database structure and front end |
US7613719B2 (en) * | 2004-03-18 | 2009-11-03 | Microsoft Corporation | Rendering tables with natural language commands |
US7840607B2 (en) * | 2004-08-06 | 2010-11-23 | Siemens Aktiengesellschaft | Data mart generation and use in association with an operations intelligence platform |
US20060206837A1 (en) * | 2005-03-10 | 2006-09-14 | Siemens Aktiengesellschaft | Presentation of hierarchical software structures |
US7506274B2 (en) * | 2005-05-18 | 2009-03-17 | Microsoft Corporation | System and method for interactively displaying multi-dimensional data |
US7707040B2 (en) * | 2005-06-30 | 2010-04-27 | International Business Machines Corporation | Method of generating business intelligence incorporated business process activity forms |
US20070061283A1 (en) * | 2005-06-30 | 2007-03-15 | Cognos Incorporated | Business intelligence incorporated business process management system and method thereof |
US7580926B2 (en) * | 2005-12-01 | 2009-08-25 | Adchemy, Inc. | Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy |
US20070136256A1 (en) * | 2005-12-01 | 2007-06-14 | Shyam Kapur | Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy |
US20070185751A1 (en) * | 2006-01-11 | 2007-08-09 | Dempers Ramon J | Drug life cycle management system |
US7694239B2 (en) * | 2006-01-23 | 2010-04-06 | International Business Machines Corporation | Selection and deselection of objects at multiple levels of a hierarchy |
US20070203902A1 (en) * | 2006-02-24 | 2007-08-30 | Lars Bauerle | Unified interactive data analysis system |
US20070260625A1 (en) * | 2006-04-21 | 2007-11-08 | Microsoft Corporation | Grouping and display of logically defined reports |
US20080163125A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Multi-dimensioned data hierarchies |
US20080162209A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Configurable actions in a dashboard application |
US20080163099A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Drill down functionality in a dashboard application |
US20080163066A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Configurable metric groups |
US8161394B2 (en) * | 2006-12-28 | 2012-04-17 | Oracle International Corporation | Configurable metric groups for presenting data to a user |
US20120117493A1 (en) * | 2006-12-28 | 2012-05-10 | Oracle International Corporation | Configurable metric groups for presenting data to a user |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261181B2 (en) | 2006-03-30 | 2012-09-04 | Microsoft Corporation | Multidimensional metrics-based annotation |
US8190992B2 (en) | 2006-04-21 | 2012-05-29 | Microsoft Corporation | Grouping and display of logically defined reports |
US8126750B2 (en) | 2006-04-27 | 2012-02-28 | Microsoft Corporation | Consolidating data source queries for multidimensional scorecards |
US9443247B2 (en) | 2006-12-28 | 2016-09-13 | Oracle International Corporation | Configurable metric groups for presenting data to a user |
US8161394B2 (en) | 2006-12-28 | 2012-04-17 | Oracle International Corporation | Configurable metric groups for presenting data to a user |
US20080163066A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Configurable metric groups |
US20080163125A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Multi-dimensioned data hierarchies |
US20080163099A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Drill down functionality in a dashboard application |
US9396474B2 (en) | 2006-12-28 | 2016-07-19 | Oracle International Corporation | Drill down functionality in a dashboard application |
US20080162209A1 (en) * | 2006-12-28 | 2008-07-03 | Oracle International Corporation | Configurable actions in a dashboard application |
US9361622B2 (en) | 2006-12-28 | 2016-06-07 | Oracle International Corporation | Multi-dimensioned data hierarchies |
US9058307B2 (en) | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US8321805B2 (en) | 2007-01-30 | 2012-11-27 | Microsoft Corporation | Service architecture based metric views |
US9392026B2 (en) | 2007-02-02 | 2016-07-12 | Microsoft Technology Licensing, Llc | Real time collaboration using embedded data visualizations |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US8700637B2 (en) | 2010-11-08 | 2014-04-15 | Lockheed Martin Corporation | Complex event processing engine |
US9218676B2 (en) * | 2011-07-11 | 2015-12-22 | International Business Machines Corporation | Displaying computer dashboard information |
US20130019197A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Displaying computer dashboard information |
US10223817B2 (en) | 2011-07-11 | 2019-03-05 | International Business Machines Corporation | Displaying computer dashboard information |
US20150220869A1 (en) * | 2012-10-17 | 2015-08-06 | Spencer & Associates Publishing, Ltd. | Evaluation of output-producing asset productivity |
US10332057B2 (en) * | 2012-10-17 | 2019-06-25 | Spencermetrics Llc | Evaluation of output-producing asset productivity |
US20190279137A1 (en) * | 2012-10-17 | 2019-09-12 | Spencermetrics Llc | Evaluation of output-producing asset productivity |
US10657481B2 (en) * | 2012-10-17 | 2020-05-19 | Spencermetrics Llc | Evaluation of output-producing asset productivity |
US9767669B2 (en) | 2013-03-14 | 2017-09-19 | International Business Machines Corporation | Automatic adjustment of metric alert trigger thresholds |
US9767668B2 (en) | 2013-03-14 | 2017-09-19 | International Business Machines Corporation | Automatic adjustment of metric alert trigger thresholds |
US10325476B2 (en) | 2013-03-14 | 2019-06-18 | International Business Machines Corporation | Automatic adjustment of metric alert trigger thresholds |
US10657790B2 (en) | 2013-03-14 | 2020-05-19 | International Business Machines Corporation | Automatic adjustment of metric alert trigger thresholds |
Also Published As
Publication number | Publication date |
---|---|
US20080163125A1 (en) | 2008-07-03 |
US9396474B2 (en) | 2016-07-19 |
US20080162209A1 (en) | 2008-07-03 |
US9443247B2 (en) | 2016-09-13 |
US20120117493A1 (en) | 2012-05-10 |
US20080163099A1 (en) | 2008-07-03 |
US20080163066A1 (en) | 2008-07-03 |
US9361622B2 (en) | 2016-06-07 |
US8161394B2 (en) | 2012-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9443247B2 (en) | Configurable metric groups for presenting data to a user | |
US11886475B1 (en) | IT service monitoring by ingested machine data with KPI prediction and impactor determination | |
US10585892B2 (en) | Hierarchical dimension analysis in multi-dimensional pivot grids | |
US11411804B1 (en) | Actionable event responder | |
US10452668B2 (en) | Smart defaults for data visualizations | |
US8713446B2 (en) | Personalized dashboard architecture for displaying data display applications | |
US9704162B2 (en) | Enterprise structure configurator | |
US9164990B2 (en) | Annotating contextual workspaces | |
US8583678B2 (en) | Graphical exploration of a database | |
US8805716B2 (en) | Dashboard system and method for identifying and monitoring process errors and throughput of integration software | |
US20050171833A1 (en) | Systems and methods for acquiring time-dependent data for business process analysis | |
CN109844781A (en) | For from journal file identifying processing stream and making to flow visual system and method | |
US11755577B1 (en) | Skewing of scheduled search queries | |
US9257150B2 (en) | Techniques for analyzing operations of one or more restaurants | |
US20100198649A1 (en) | Role tailored dashboards and scorecards in a portal solution that integrates retrieved metrics across an enterprise | |
US20070162500A1 (en) | Incremental, real-time computation of aggregate expressions | |
CA2873753A1 (en) | System and methods for social data sharing capabilities for enterprise information systems | |
US20120151396A1 (en) | Rendering an optimized metrics topology on a monitoring tool | |
US20150089448A1 (en) | Enterprise applications navigation using tile characteristics that change with applications data | |
US10057108B2 (en) | Systems, devices, and methods for exchanging and processing data measures and objects | |
US9959319B2 (en) | Event driven data staging and data aging algorithms for personalization data in enterprise search | |
CN110032560A (en) | A kind of generation method and device monitoring chart | |
US11966321B2 (en) | Reporting systems and methods | |
CA2923690A1 (en) | Techniques for analyzing operations of one or more restaurants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GU, YU-FENG;LIU, LUJIANG;JACOT, KIMBERLY;AND OTHERS;REEL/FRAME:019455/0233;SIGNING DATES FROM 20070418 TO 20070425 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |