Methods and systems for providing a discussion thread to key performance indicator information

Systems and methods for providing a discussion thread to key performance indicator information displayed on a dashboard are disclosed. The system may include a renderer for rendering a dashboard displaying a key performance indicator value corresponding to at least one business value. The system may also include a comment module that is configured to: receive a comment corresponding to the displayed key performance indicator value, and generate a discussion thread including the received comment. The generated dashboard can then be rendered by the renderer in association with the displayed key performance indicator value. In some cases, the discussion thread can include a plurality of related comments.

TECHNICAL FIELD

The described embodiments relate generally to methods and systems for dashboard interaction.

BACKGROUND

“Dashboards” present visualizations, for example, in graph or chart form, of key performance indicator (KPI) metrics or information derived from business values or data stored in business databases. Such visualizations may be viewed (e.g., on a computer screen or other display device) by executives to obtain an overview of how a business is performing.

Different users within an organization may view a dashboard.

The applicants have recognized a need for methods and systems for providing a discussion thread to KPI information on a dashboard.

DETAILED DESCRIPTION

When viewing a dashboard, a user may wish to comment on particular KPI values appearing on the dashboard for the benefit and/or feedback from other users. For example, a regional manager reviewing total sales for a number of stores within his region may have a question as to why a particular store is underperforming. Such a question may be asked of, and be responded to, by the store manager of the underperforming location who is also viewing the dashboard. This may result in a discussion between the two managers about the store's performance.

Although such discussion may occur using other communication channels (e.g., email), it may be desirable to perform such discussions within the immediate context of the KPI values being discussed.

The embodiments described herein allow comments to be received from multiple users so that they may be collectively displayed as a discussion thread associated with a rendered KPI value.

The embodiments described herein provide in one aspect, a system for providing a discussion thread to KPI information displayed on a dashboard. The system can include several components. There may be a renderer for rendering a dashboard displaying a KPI value corresponding to at least one business value. There may also be a comment module that is configured to receive a comment corresponding to the displayed KPI value, and generate a discussion thread comprising the comment. In some cases, the discussion thread can include a plurality of related comments.

In generating the dashboard, the system may create an intermediate table having intermediate data. The intermediate data may contain a plurality of intermediate values in which a selected intermediate value corresponds to the at least one business value that the displayed KPI value also corresponds to. As well, the intermediate data may contain a plurality of dimension categories such that each dimension category corresponds to a unique group of at least one of the plurality of intermediate values.

Of the dimension categories, there may be a selected dimension category that corresponds to the selected intermediate value. In operation, the comment module may associate the received comment and/or the resulting generated discussion thread with the selected dimension category. Furthermore, the comment module may associate the received comment and/or the resulting generated discussion thread with one or more dimension categories.

The system can further include a KPI deriver. The KPI deriver can be configured to determine the unique group of at least one intermediate value corresponding to the selected dimension category in the intermediate table. From this unique group of at least one intermediate value, the deriver may derive the displayed KPI value on the dashboard.

Additionally or alternatively, the system may include a security module operatively coupled to the comment module. The security module can be configured to authenticate the comment. When authenticating the comment, the security module may verify the comment against an authentication level of the user viewing the dashboard. In some cases, the authentication level can be associated with at least one dimension category.

Embodiments described herein may also be directed to a dashboard including the rendered KPI value and its corresponding discussion thread, as generated by the system described herein.

In another aspect, the described embodiments may be directed towards a method for providing a discussion thread to KPI information, which is displayed on a dashboard. This method may include rendering a dashboard displaying a KPI value corresponding to at least one business value. Once the dashboard is rendered, the method may involve receiving a comment corresponding to the displayed KPI value, and generating a discussion thread including the comment. In some cases, the discussion thread can include a plurality of related comments.

The discussion thread may then be further rendered in association with the KPI value.

When generating the dashboard, the method may also include the step of creating an intermediate table having intermediate data. The intermediate data may include a plurality of intermediate values in which a selected intermediate value corresponds to the at least one business value that the displayed KPI value also corresponds to. The intermediate data may also include a plurality of dimension categories in which each dimension category corresponds to a unique group of at least one intermediate value.

There may be a selected dimension category that corresponds to the selected intermediate value. In such case, the method may further include associating the selected dimension category with the received comment and/or the generated discussion thread. The method may also include associating one or more dimension categories with the received comment and/or the generated discussion thread.

Additionally or alternatively, the method may include determining the unique group of at least one intermediate value corresponding to the selected dimension category. This group of at least one intermediate value may then be used in deriving the displayed KPI value.

In further aspects, the described method may also include authenticating the comment before displaying it in a discussion thread. This authentication may involve verifying the comment against an authentication level, which may be associated with at least one dimension category.

Embodiments described herein may further be directed to a dashboard comprising the rendered KPI value and its corresponding discussion thread, as generated by the described method.

Referring toFIG. 1A, shown there is an illustration of the overall operation of providing a discussion thread to KPI information, in accordance with one embodiment of the present disclosure.

Before comments can be received, a dashboard120may need to be generated. In one embodiment, a dashboard120may be generated as follows.

First, a business database142storing business values144(e.g., sales, expenses, inventory or human resources data) may be accessed for the purpose of generating an intermediate table162having intermediate values164. The intermediate values164may be a subset of the business values144.

The intermediate table162may include dimension categories166that allow the intermediate values164to be sorted, grouped or filtered. For example, a dimension category166may be a particular field, property or characteristic of the intermediate values164. As illustrated, the dimension categories166may be a date range166A (e.g. ‘Jan.’ (January), ‘Feb.’ (February), ‘Mar.’ (March) and/or ‘Q1’ (i.e., the first calendar quarter)) or the various store locations166B (e.g., ‘Pittsburgh’, ‘Chicago’, ‘Miami’ and ‘Dallas’). As will be understood, different dimension categories may be created for different types of applications.

KPI values176(shown in dotted lines beside the intermediate values164) may then be derived from the intermediate values164using the dimension categories166. KPI values176may be a subset of the intermediate values164that have been consolidated by, for example, grouping, selecting or filtering the intermediate values164using the dimension categories166. As illustrated, the KPI values176generated from the intermediate values164are the total sales for the time period from ‘Jan.’ to ‘Mar.’ (i.e., for the calendar quarter ‘Q1’166a) for each of the store locations166B.

The KPI values176may then be subsequently visualized (in a graphical format) in a KPI visualization122in a dashboard120. In the illustration, an exemplary KPI visualization122awith the title ‘Total Sales by Store Location’ illustrates the KPI values176in a ‘bar chart’ graphical format. The other KPI visualizations122may correspond to other KPI values176derived from the same or other intermediate tables162. Although the other KPI visualizations122are illustrated using a ‘gauge’ graphical format and a ‘line chart’ graphical format, it will be understood that other graphical formats are also possible, such as a ‘pie chart’ or ‘data grid’ graphical format.

The dashboard may typically be designed or created by several individuals in a business organization. A database administrator may first assist in selecting intermediate values164from the business database142. In doing so, they may use their specialized knowledge of the layout (e.g., the schema or data types associated with particular records) of the business database142to select intermediate values164that can be used in the subsequent identification of a KPI. A business analyst may then determine the KPI that is useful for a viewer of the dashboard120to see. In the example illustrated inFIG. 1A, this may be the total sales by store location for a period of time. The business analyst may then further identify dimension categories166to process the intermediate values164into KPI values176. After the KPI values176have been derived, a graphic designer may select a desired graphical format for depicting the KPI values176in the KPI visualization122.

Once completed, the dashboard120may be viewed by one or more users. Comments174may subsequently be entered.

In the illustrated example, when viewing the KPI visualization122on the dashboard120, a regional manager may have a question as to why monthly sales for the ‘Chicago’166flocation are lower than the other store locations. To address such concern, the regional manager (in the example, ‘Adam’) may wish to input a comment174relating to this KPI value176a.

To do this, ‘Adam’ may access a discussion thread124window and provide his comment174a(i.e., “Why are sales down?”). When entering a comment174, a user may be able to operate the dimension category selector126(illustrated generally as drop down menu boxes126a,126b) so that the comment174can be associated with one or more dimension categories166. As illustrated, since ‘Adam’ wants to provide a comment174for total sales in the ‘Q1’ calendar quarter for the ‘Chicago’ store location, ‘Adam’ may select his comment174ato be associated with the ‘Q1’166adate dimension category and the ‘Chicago’166fdimension category. This is shown pictorially in the illustration with dotted-line arrows pointing from the ‘Date’ dimension category selector126ato the ‘Q1’166adate dimension category, and the ‘Location’ dimension category selector126bpointing to the ‘Chicago’166fstore location dimension category.

When the store manager for the ‘Chicago’ location166f(in the example, ‘Jane’) views the dashboard120, the comment174aentered by the user ‘Adam’ may be visible when she is viewing the dashboard (on another computing device, in some cases). To respond, she may select the same dimension categories166using dimension category selector126(i.e., the ‘Q1’166adate range and the ‘Chicago’166fstore location), and input her comment174b(i.e., “A blizzard reduced foot traffic.”). A discussion thread124may then be generated as a result of the inputted comments174, in which the two managers discuss a KPI value176that corresponds to one or more dimension categories166. When other users are viewing the dashboard120(on the same or other computing devices), they may provide additional comments174in the discussion thread124if the same dimension categories166are selected in the dimension category selector126.

Referring toFIG. 1B, shown there generally as100is a block diagram of one possible configuration of a dashboard discussion thread system for implementing the high-level overview described above with respect toFIG. 1A.

The system100may include a dashboard viewer102and a dashboard discussion thread system104, each of which may be connected to a network106to facilitate communication with each other. In some embodiments, the dashboard viewer102and dashboard discussion thread system104may operate in a client-server architecture according to known methods. In such operation, there may be one or more additional dashboard viewers102′,102″ (as implemented on various computing devices such as a desktop computer or a laptop, for example) that may be able to access and view a dashboard120.

Dashboard viewer102may be configured to display a dashboard120and a discussion thread124generated by the dashboard discussion thread system104. The dashboard120may be viewed at the dashboard viewer102with, for example, a web browser or a standalone application (not shown). The dashboard viewer102may also include the dimension category selector126, discussed above, to allow a user to select the dimension categories166for associating with comments174. Also, the dashboard viewer102may include a renderer130for rendering the dashboard120.

Dashboard discussion thread system104may include the business database142, an intermediate table database160, and a dashboard generator180. As discussed in greater detail below, the dashboard discussion thread system104may optionally (as shown in dotted outline) include a security database190.

As noted earlier, the business database142may store a number of business values144that relate to the operation of a business. As an illustration, the business database142may be an accounting and inventory management database that stores transactional data for a sporting goods store having retail locations in multiple cities. Referring briefly toFIG. 2, shown there are exemplary excerpts from a ‘Sales’ table210and an ‘Inventory’ table212that may be stored in an example business database142. In some embodiments, the business database142may be stored on a separate computer accessible by the dashboard discussion thread system104.

The intermediate table database160may store one or more intermediate tables162. As discussed, the intermediate table162may include intermediate values164and dimension categories166that may allow the grouping, sorting or filtering of the intermediate values164.

In some embodiments, the intermediate table162may be a virtual table generated as a part of a database query such as a SQL query. To consolidate a potentially large volume of business values144, the query may perform a summation or other mathematical process on the business values144to arrive at the intermediate values164forming part of the intermediate table162.

As illustrated, the intermediate table database160may also store one or more comments174provided by viewers when they view a dashboard120. It will be understood, however, that these comments174may be stored separately in another database that is accessible by dashboard discussion thread system104.

The intermediate table database160may further store the KPI values176as derived from the intermediate values164(as may be derived by the KPI deriver182, discussed below). It will be understood that while illustrated as being stored in intermediate table database160, KPI values176may be stored in any other database accessible by the dashboard discussion thread system104. Alternatively or additionally, such KPI values176may not be stored at all, and instead may be dynamically generated from the intermediate values164each time the KPI visualization122is displayed.

The dashboard generator180may include a KPI deriver182, a comment module184, and optionally (as shown in dotted outline), a security module186. These modules may operate together to retrieve data from the illustrated business database142, intermediate table database160(and optionally, the security database190) to generate a dashboard120and any corresponding discussion thread124.

As noted above, the KPI values176may be a subset of the intermediate values164which have been filtered, grouped or otherwise selected according to a dimension category166.

The dimension categories166that may be used to process (i.e., in some cases, consolidate) the intermediate values164can be provided by the business analyst when they are creating a KPI. In some cases, the dimension categories166may be a subset or grouping of the available fields in an intermediate table162. A business analyst may choose the dimension category166depending on the nature of the KPI they are desiring to create for visualization. For example, a business analyst may wish to view total sales at each store location166B in the first calendar quarter, and may select ‘Q1’166aas the dimension category166for deriving the KPI values176.

Once identified, the dimension categories166may be used to derive the KPI values176. Such process may include the KPI deriver182being configured to determine the intermediate value164corresponding to the selected dimension category166. In the example ofFIG. 1A, this may involve the KPI deriver182identifying the sales from ‘Jan.’-‘Mar.’ (i.e., the sales within ‘Q1’166adate range) for all the store locations166B.

The KPI deriver182may then derive the KPI values176that are to be displayed in the KPI visualization122from the identified intermediate values164. For example, this may include using the dimension categories166to group, sum, filter, select or otherwise process the intermediate values164to arrive at the KPI values176. In the illustrated example, such derivation may include calculating the total sum for the sales from ‘JAN’ (January) to ‘MAR’ (March) for each of the store locations166B. Additional mathematical functions that may be used to process intermediate values164may include average, maximum or minimum.

In some embodiments, the identified dimension categories166used when deriving KPI values176may be stored in a separate database (not shown) accessible by the KPI deriver182.

In more complex embodiments, multiple dimension categories166may be identified and the derivation of KPI values176may be performed according to multiple dimension categories166. For example, this may be the case if the ‘Total Sales by Store Location’ KPI was modified to show total sales for only the ‘Chicago’166fand ‘Pittsburgh’ locations to compare store locations in a similar geographic region. In such case, the store location dimension categories166B may be used to filter the intermediate values164before they are summed into KPI values176.

The KPI values176may then be transmitted to the dashboard viewer102so that it may be rendered by the renderer130on the dashboard120. This may involve rendering the derived KPI values176in a desired graphical format in a KPI visualization122selected by the graphic designer. In the example, the KPI values176are rendered as a ‘bar chart’, but it will be understood that other suitable graphical formats may be selected. In some embodiments, the graphical format may be stored in the KPI database (not shown) along with the dimension categories166used to generate the KPI values176from the intermediate values164.

When the dashboard120is viewed, a user may enter a comment174relating to a displayed KPI value176in a KPI visualization122(e.g., the ‘Q1’166afor the ‘Chicago’ store location166f). The comment174entered by a user at the dashboard viewer102may be transmitted over the network106.

The comment module184may receive this comment174, and store it into the intermediate database160. As discussed in further detail below, the comment module184may be able to associate the received comments174with the dimension categories166selected in the dimension category selector126. The comment module184may be further configured to generate a discussion thread124containing the received comments174.

The renderer130can then further render the discussion thread124in association with the KPI value176at the dashboard viewer102. As illustrated above, the discussion thread124may be displayed in a dedicated window near the position of the displayed dashboard120. In some embodiments, the discussion thread124may be displayed as a pop up window when the one or more KPI values176corresponding to the selected dimension categories166are highlighted on the dashboard120. Other ways of associating the discussion thread124with displayed KPI values176may also be utilized.

Referring toFIG. 3, shown there generally as162is a schematic diagram with example data illustrating the various relationships amongst the intermediate table162, intermediate values164, dimension categories166, and comments174in greater detail.

The schematic diagram162illustrates the intermediate values164containing total monthly sales for various store locations with store identifiers306‘S1’, ‘S2’, ‘S3’ and ‘S4’.

The dimension categories166are shown in columns adjacent to, and over the intermediate values164. As noted earlier, dimension categories166may be a property or characteristic of intermediate values164that allows filtering, sorting or grouping of intermediate values164. As illustrated, the dimension categories166may be date dimension categories166A (i.e., calendar quarter ‘Q1’166a, and calendar months ‘Jan.’166b(January), ‘Feb.’166c(February), or ‘Mar.’166d(March)) or store location dimension categories166B (i.e., ‘Pittsburgh’166e, ‘Chicago’166f, ‘Miami’166g, or ‘Dallas’166h). As will be understood, different dimension categories are also possible.

For the location dimension categories166B, an ‘X’ appears in the record for which a store location is associated with the indicated dimension category166. As illustrated, the store with store identifier306‘S1’ may be associated with the ‘Pittsburgh’166estore location, the store with store identifier306‘S2’ may be associated with the ‘Chicago’166fstore location, the store with store identifier306‘S3’ may be associated with the ‘Miami’166estore location, and the store with product identifier306‘S4’ may be associated with the ‘Dallas’ store location.

For the date dimension categories166A, since there are values in each of the records for the various date dimension categories ‘Q1’166a, ‘Jan.’166b, ‘Feb’166cand ‘Mar.’166d, the store with store identifiers306‘S1’ through ‘S4’ may also be associated with each of the illustrated date dimension categories.

In some embodiments, separate dimension category166records may be provided. These records may be stored as a part of the intermediate table database160discussed above, or in a separate database (not shown). In some implementations the association between intermediate values164and a dimension category166may be implemented by providing a field (containing a foreign key, for example) in the intermediate table162that references the record for a particular dimension category166.

Once the associations between the dimension categories166and the intermediate values164have been established, a business analyst may be able to derive KPI values from the intermediate values164using the dimension categories166, as earlier discussed. For example, a business analyst may select KPI values by filtering the intermediate values164to only show sales for the ‘Miami’166glocation, or may sum up the total sales for the ‘Q1’ calendar quarter166afor each of the store location dimension categories166B, as discussed inFIG. 1A.

FIG. 3also illustrates the comments174being associated with at least one dimension category166. As illustrated, the comments174are shown on the right of the indicated store location dimension category166B columns, and an ‘X’ is shown in the record for which a comment174is associated with the indicated dimension category166. As illustrated, there are two comments174a,174bforming the discussion thread: the comment174afrom the user ‘Adam’ associated with the ‘Chicago’166fstore location and the ‘Q1’166adate dimension category, and the comment174bfrom the user ‘Jane’ also associated with the ‘Chicago’166fstore location and the ‘Q1’166adate dimension category.

In more complex embodiments, these multiple dimension categories166may have various relationships. For example, each of the store location dimension categories166B may belong to another parent dimension category related to a geographical region (e.g., a ‘Region’ dimension category (not shown)). In some such embodiments, the relationship may be stored as a parent-child hierarchical relationship. In such embodiments, a comment174associated with a ‘Store Location’ dimension category166B may automatically be associated with its parent ‘Region’ dimension category that encompasses it. When rendering the visualization of the KPI for a particular dimension category166, the dashboard generator130can be configured to determine if the particular dimension category166has any children dimension categories166so that any comments174for the children dimension categories166may also be rendered. For example, if rendering KPI values for a region dimension category166, the comment174for the ‘Store Location’166B dimension category may also be rendered. In further embodiments, nested child dimension category166hierarchies may also be stored.

For date dimension categories166, the relationships between different date dimension categories166may be automatically identified by a dashboard generator180as they typically do not change across different sets of intermediate values164. For example, a ‘Year’ dimension category166may encompass a ‘Quarter’ dimension category166, which may in turn encompass a ‘Month’ dimension category166. In some embodiments, the hierarchy of relationships for a date dimension category166may be defined by known date standards such as Gregorian, Fiscal or ISO 8601 (an international standard based on week numbers).

InFIG. 3, the relationship between a ‘Month’ dimension category166and a ‘Quarter’ dimension category166is illustrated with the ‘Quarter’ dimension category column shown in thick outline encompassing the ‘Month’ dimension category166columns.

Additional details regarding how comments174are entered will now be explored in greater detail. The discussion below will refer to the general overview discussed inFIG. 1A, as well asFIGS. 4, 5A, 5B and 5C.

Referring toFIG. 4, shown there is a flowchart illustrating a sequence of events for providing a discussion thread124to KPI information, in accordance with an embodiment of the present disclosure.

A first step may be to render the dashboard120(block410). The dashboard120may display a KPI value176corresponding to at least one business value144stored in the business database142. The dashboard120may, for example, be generated by the dashboard generator180and rendered by the renderer130, as discussed above.

Referring also toFIG. 5A, shown there generally is a version of the dashboard120displaying KPI visualizations122discussed inFIG. 1Aat a first point in time (time A). At this time, a store manager and a regional manager may view the KPI data shown in the KPI visualization122in the generated dashboard120. As illustrated, a KPI visualization122adisplays total sales for various store locations166B in the ‘Q1’166adimension category as derived from the intermediate values164in the intermediate table162. The illustrated ‘bar chart’ contains store location depictions566B in the x-axis, and the total sales (i.e., KPI value depictions576corresponding to KPI values176along the y-axis).

As illustrated, the discussion thread124window does not yet contain any comments174because none have been entered. Also, the dimension category selectors126(which have been illustrated, for example, as drop down menus126a,126b, but can be implemented as any user interface mechanism or control that allows a user to select an item) do not show any highlighted dimension categories166.

The available dimension categories166that are selectable in the dimension category selector126may correspond to the dimension categories166used to derive the KPI values176from the intermediate values164. For example, one selectable dimension category may be the ‘Q1’166adate range for which the total sales are displayed in the KPI visualization122a.

Also selectable in the dimension category selector126are dimension categories166which are visible in the KPI visualization122aor otherwise form part of the KPI values176being depicted. For example, the KPI values176include total sales for each store location166B. In such case, each store location166B may be identified as a dimension category166that can be selected in the dimension category selector126.

After having populated the dimension category selector126with selectable dimension categories166, a comment174may be received in the discussion thread124window.

Continuing on with the example discussed inFIG. 1A, the regional manager (‘Adam’ in our example) may have a question regarding the low sales in the KPI value depiction576athat are illustrated for the ‘Chicago’ store location566bin the KPI visualization122a. He may then access the ‘Discussion Thread’124window to insert a comment174.

Referring toFIG. 5B, shown there is an illustration at a second point in time (time B) of the dashboard ofFIG. 5A, with the discussion thread124displaying one received comment174a.

Before the comment174ais entered, one or more selected dimension categories166corresponding to the illustrated KPI value176amay be determined (Block412). Particularly, the entered comment174amay correspond the underlying KPI value176for a KPI value depiction576. To facilitate such determination of the selected dimension categories166, the user ‘Adam’ may operate the dimension category selector126to enter the dimension categories166corresponding to the KPI value176a. For example, since the intended comment174is directed at the low sales for the first quarter (‘Q1’166a) at the ‘Chicago’ store location166f, the dimension categories ‘Q1’166aand ‘Chicago’166fmay be selected in the drop down boxes126aand126bin the dimension category selector126. Once the dimension categories166have been selected in the dimension category selector126, the comment174amay be entered.

To receive such comment174a, the discussion thread124window may provide a separate text entry area for allowing the text comment174to be entered. In some embodiments, this may be a popup text window, although it will be understood that other suitable text entry methods may also be possible. It will also be understood that other comments174beside text comments (e.g., rich text, HTML markup, embedded video or audio, an image, a file attachment or a hyperlink to other relevant information internal or external to the dashboard120) may also be entered. A comment174may also be associated with other pieces of information, such as the date and time the comment was created and/or last modified. Such date and time may be displayed as part of, or in conjunction with, the comment174.

In more complex embodiments, the manual selection of dimension categories166in the dimension category selector126can be avoided. In such case, the dimension categories166associated with the comment174may be automatically selected based on the highlighting, clicking or selection of an area on the KPI visualization122corresponding to the KPI value176a. For example, the dashboard120may be provided with a ‘Discussion’ mode in which, the selection of KPI value depictions576on the KPI visualization122provides an option for the entry of comments174with respect to the dimension categories166associated with the KPI value176underlying the selected KPI value depiction576. In the example, the dimension categories166may be implicitly selected when a user ‘Adam’ selects the vertical bar KPI value depiction576ain the bar chart corresponding to the total sales for the ‘Chicago’ store location166ffor the calendar quarter (‘Q1’166a). In such scenario, the KPI visualization122may be configured to identify the KPI values176it is illustrating such that when the KPI value depiction576acorresponding to the KPI values176is selected, the KPI visualization122can communicate the dimension categories166associated with the KPI value176to the dimension category selector126.

In the example, this would mean that the KPI visualization122may be operable to communicate to the dimension category selector126that the selected KPI value depiction576acorresponds to the ‘Chicago’166fdimension category and the ‘Q1’166adimension category. Accordingly, any comment174entered would be associated with these selected dimension categories166, and a dimension category selector126may not be explicitly operated by the viewer of a dashboard120.

After the dimension categories166are selected in the dimension category selector126, ‘Adam’ may enter his comment174a(i.e., “Why are sales down?”) so that it is received by the dashboard discussion thread system104(Block414). The entered comment174amay subsequently be associated with the dimension categories166selected in the dimension category selector126(Block416).

Once entered, the comment module184may be configured to generate the discussion thread124including the comment174a. This discussion thread124may be further rendered in association with the depicted KPI value176a(block418) such as is illustrated inFIG. 5B. As noted earlier, while the discussion thread124is illustrated as a separate window beside the dashboard120, the discussion thread124may also be rendered next to the KPI value depiction576that it relates to. For example, such depiction may be in the form of depicting an indicator (a tool tip, small icon or graphic, for example) near the KPI value depiction576such that if accessed (e.g., clicked on or hovered over with a mouse pointer, finger, stylus or other pointing device), the discussion thread124may be depicted.

To respond to the comment174aleft by the user ‘Adam’, the store manager ‘Jane’ for the ‘Chicago’166fstore location may wish to enter her own comment174to address the regional manager's question regarding store performance.

Referring toFIG. 5C, shown there is an illustration at a third point in time (time C) of the dashboard120inFIGS. 5A and 5Bafter additional comments174have been received. As illustrated, the user ‘Jane’ has added her response comment174b(“A blizzard reduced foot traffic”) to the first comment174afrom ‘Adam’.FIG. 5Calso shows a follow up comment174cfrom ‘Adam’ asking “The blizzard only hit Chicago?”

The process of receiving additional comments174(block420) may be similar to what is described above when entering the first comment174. That is, if the same dimension categories166are selected in the dimension category selector126as when entering the first comment174, the additional comments174may be added to the same discussion thread124.

Since the various comments174making up the discussion thread172can be associated with the selected dimension categories166identified in the dimension category selector126(i.e., the ‘Q1’166adate range and the ‘Chicago’166fstore location), the entirety of the discussion thread124can also be considered to be associated with the selected dimension categories166. Consequently, if other dimension categories166are subsequently selected in the dimension category selector126, the discussion thread124may not be visible, and other comments174associated with the other selected dimension categories166may be displayed.

WhileFIG. 5Cillustrates a discussion thread124as having discussion comments174entered by two users, it will be understood that comments174may be entered by just one or a number of other users.

As illustrated, the discussion thread124may display comments174in chronological order (i.e., a newly received comment174is displayed after the most recently received comment174). However, it will be understood that in some embodiments, the comment module184may be configured to receive (and the renderer130may be configured to render) nested hierarchical comments. That is, when adding a comment174to a discussion thread124, the comment174may not necessarily respond to the last entered comment174. Instead, the user may be presented with an option to respond directly to any one of the displayed comments174.

For example, for the dashboard120shown inFIG. 5C, the user ‘Jane’ may be able to enter another comment174in further response to the initial question174a(“Why are sales down?”) posed by the user ‘Adam’. This comment may, for example be “Also, a competing store opened next door”. Since such comment174may be in direct response to the first comment174a, the additional comment174may be displayed as being associated with the initial comment174a(e.g., displayed directly below the initial comment and further indented from the edge of the discussion thread124window). This may result in discussion thread124not appearing in chronological order. In more complex embodiments, further comments174in response to other responding comments174may result in nested comment hierarchies that are many levels deep.

As can be seen, the discussion thread124may allow different users to discuss KPI values176that they see on a dashboard120. While the discussion thread124may be associated with selected dimension categories166, there may be scenarios when it is desirable to limit the type of users who may access, view, enter or modify (edit) comments174. For example, if a comment174contains confidential information, the comment may only be viewed by users with the proper access privileges.

The operation of the optional security module186and security database190shown inFIG. 1Bwill now be discussed.

The security module186may be connected to the comment module184so that when a comment174is accessed (e.g., if the renderer130is rendering a discussion thread124), the comment module184may prevent access to the comment174for which an accessing user does not have appropriate privileges. In such way, the security module186can be thought of as authenticating the comment174before the comment174is accessed in the discussion thread172.

In some embodiments, the privileges of the viewer of the dashboard120may be associated with an authentication level192(i.e., a security level or user group that specifies access (e.g., read/write/delete) privileges). Comments174may similarly be associated with an authentication level192. Before the comment174is allowed to be accessed, the security module186may first verify that the viewer has the same or a higher authentication level192than the comment174that is to be accessed.

For example, if a viewer belongs to a marketing team, comments174may be configured to have an authentication level such that the comment174is only authenticated (i.e., allowed to be accessed) when viewed by members who have the same authentication level (i.e., are a part of the marketing team). If a viewer does not have the same (or a higher) authentication level, the comment174is not authenticated, and the comment174is prevented from being accessed. In some embodiments, the discussion thread124itself may also be associated with an authentication level such that a comment174may not be entered if the user does not meet or exceed the authentication level of discussion thread124.

In further embodiments, an authentication level can be associated with a particular KPI. In such case, a comment174may not be visible when the same data point is displayed in a different KPI. Such feature may be useful, for example, when the same data point appears in multiple KPIs. Further, the discussion thread124window may be configured to provide an option for the user to filter the display of comments174on a per-KPI basis (e.g., via a dropdown menu containing a list of available KPIs). In some such embodiments, comments174associated with multiple KPIs may be displayed in the same discussion thread124window if multiple KPIs are selected to be viewed.

Additionally or alternatively, an authentication level may be associated with a project (a product launch or marketing campaign, for example) that users of a dashboard may be participating in such that individuals not participating in the project would not be able to access the comments174. The project may give rise to a particular dashboarding endeavor such that the data associated with generating the dashboard (e.g., an intermediate table162) may be associated with one or more authentication levels associated with the project. Comments174associated with such dashboard may, in turn, also be associated with the same one or more authentication levels.

Moreover, in some embodiments, there may be an authentication level that restricts the accessing of comments174only to those who originally entered the comment174. Such comments174may be considered ‘private’ to the user who entered them.

In other embodiments, the authentication level may be associated with the dimension category166corresponding to the discussion thread124. For example, in the earlier example for comments174related to the ‘Chicago’166fstore location's store performance, such discussion thread124may be limited to viewers belonging to an authentication level that is allowed to view information related to the ‘Chicago’166fstore location. That is, a store manager for another store location may not be able to view the comments174that have been entered related to the ‘Chicago’166fstore location.

Furthermore, in some embodiments, comments174may be associated with a ‘comment group’ (i.e., a virtual container for comments174and/or discussion threads124) which one or more comments174and/or the discussion thread124may be associated with. In such embodiments, an authentication level may be additionally or alternatively associated with the comment group so that access to comments174within the comment group can be based on the authentication level for the ‘comment group’ instead of on a per comment174/discussion thread124basis. Using a comment group to configure the authentication level may allow for greater efficiency when providing for the security of received comments174in that multiple comments174and/or their associated discussion threads124may have their security configured via the comment group instead of on an individual basis. The authentication levels for a comment group can be configured to correspond to any one or more of the discussed entities, such as a KPI, a project, a team, a dimension category, and/or user group privileges/permissions.

Referring again toFIG. 3, an additional or alternative embodiment for implementing date dimension categories166A will now be explored.

To facilitate the determination of whether a comment174should be displayed in a visualization of a KPI, the comment174may store a date range (not shown) for which the comment174should be displayed. For example, for the comment172aassociated with the ‘Q1’166adate dimension category, the date range310may be stored as ‘Jan. 1-Mar. 31’. The limits of the date range may be defined arbitrarily, without dependency on, or reference to, available date dimension categories or intermediate values.

To determine if a comment174should be displayed, the dashboard generator180may be configured to determine if a date intermediate value164corresponding to the date dimension category166being visualized corresponds to the date range for the comment174. In other words, the dashboard generator180may be configured to determine if the date range of a comment174falls within the range for the date dimension categories166being visualized in the KPI. If so, the comment174may be displayed; if not, the comment174should not be displayed.

Consider, for example, a KPI visualization that shows ‘Sales by Months’ for the first calendar quarter (i.e., the ‘Q1’166adimension category having a date range of ‘Jan. 1-Mar. 31’). If a comment174is associated with the ‘Jan’166band ‘Feb’166cdate dimension categories such that it stores a date range of ‘Jan. 15-Feb. 15’, for example, such comment174would be viewable on the dashboard120because the ‘Jan 15-Feb. 15’ date range would fall within the ‘Q1’ date range (Jan. 1-Mar. 31). That is, the intermediate values164being displayed for the date range of the dimension category166would correspond to the date range of the comment174.

It will be understood by persons skilled in the art that variations are possible in variant implementations and embodiments of the described dashboard creation system100. Such variations include, but are not limited to, variations in the connectivity amongst described components, the sequence of execution by the described components, the organization of described components, as well as the data structures and types of data stored. Further, while the above embodiments have been described with respect to KPI information, it will be understood that the described methods and systems may also be used to provide comments and/or a discussion thread to any type of intermediate data having dimension categories generated from business values.

The steps of a method in accordance with any of the embodiments described herein may be provided as executable software instructions stored on computer-readable media, which may include transmission-type media. Such steps may not be required to be performed in any particular order, whether or not such steps are described in claims or otherwise in numbered or lettered paragraphs.

The invention has been described with regard to a number of embodiments. However, it will be understood by persons skilled in the art that other variants and modifications may be made without departing from the scope of the invention as defined in the claims appended hereto.