Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SYMULTANEOUSLY DISPLAYING DATE INFORMATION IN TWO DIFFERENT CALANDAR TYPES
Document Type and Number:
WIPO Patent Application WO/2006/119602
Kind Code:
A1
Abstract:
A time dimension management system is provided for managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure. The time dimension management system comprises a date selector controller and a calendar coordinator. The date selector controller is provided for controlling a date selector that presents to a user a standard calendar and a business calendar. The date selector controller has a standard calendar manager for managing presentation of the standard calendar for allowing the user to select a date on the standard calendar, and a business calendar manager for managing presentation of the business calendar to represent the time data structure that the data analyzing system uses, and allowing the user to select a date on the business calendar. The calendar coordinator is provided for coordinating the standard calendar manager and the business calendar manager to indicate a selected date on the standard calendar and the business calendar.

Inventors:
STEWART IAN (CA)
KELLY FLOYD (CA)
BREEDVELT-SCHOUTEN ILSE (CA)
Application Number:
PCT/CA2005/000707
Publication Date:
November 16, 2006
Filing Date:
May 09, 2005
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COGNOS INC (CA)
STEWART IAN (CA)
KELLY FLOYD (CA)
BREEDVELT-SCHOUTEN ILSE (CA)
International Classes:
(IPC1-7): G06F17/60
Foreign References:
US6108640A2000-08-22
CA2315389A11999-07-15
US5764597A1998-06-09
CA2418754A12003-07-12
Other References:
DAWSON C.A.: "Graphical indicator for calendar days that have out-of-sync data", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 35, no. 6, November 1992 (1992-11-01), pages 375 - 377, XP000314189
See also references of EP 1880353A4
Attorney, Agent or Firm:
Harris, John D. (160 Elgin Street Suite 260, Ottawa Ontario K1P 1C3, CA)
Download PDF:
Claims:
WHAT IS CLAIMED IS:
1. A time dimension management system for managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure, the time dimension management system comprising: a date selector controller for controlling a date selector that presents to a user a standard calendar and a business calendar, the date selector controller having: a standard calendar manager for managing presentation of the standard calendar for allowing the user to select a date on the standard calendar; a business calendar manager for managing presentation of the business calendar to represent the time data structure that the data analyzing system uses, and allowing the user to select a date on the business calendar; and a calendar coordinator for coordinating the standard calendar manager and the business calendar manager to indicate a selected date on the standard calendar and the business calendar.
2. The time dimension management system as recited in claim 1 , wherein the business calendar manager has a time cell handler for presenting the business calendar with multiple cells to represent the time data structure, and allowing the user to select cells.
3. The time dimension management system as recited in claim 2, wherein the time cell handler presents the cells in a multilevel hierarchy.
4. The time dimension management system as recited in claim 2, wherein the calendar coordinator provides links between the cells on the business calendar and corresponding dates on the standard calendar.
5. The time dimension management system as recited in claim 2, wherein the calendar coordinator changes the appearance of the cells to indicate a selected date.
6. The time dimension management system as recited in claim 1 , wherein the business calendar manager has a time dimensional selection handler for presenting the business calendar as a time dimensional selector having multiple time levels, each having one or more time items to represent the time data structure, and allowing the user to select time items.
7. The time dimension management system as recited in claim 6, wherein the time dimensional selection handler presents the time items as selection options in respective time levels. ;.
8. The time dimension management system as recited in claim 7, wherein the calendar coordinator provides links between the time items on the time dimensional selector and corresponding dates on the standard calendar.
9. The time dimension management system as recited in claim 1 further comprising a time period selection controller for controlling presentation of a time period selector to allow the user to select a time period in relation with the selected date.
10. The time dimension management system as recited in claim 1 further comprising a validity time indication controller for controlling presentation of a validity time indicator .
11. A method of managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure, the method comprising the steps of: presenting a standard calendar for allowing the user to select a date on the standard calendar; presenting a business calendar that represents the time data structure that the data analyzing system uses for allowing the user to select a date on the business calendar; receiving a date selection by a user on the standard calendar or the business calendar; and coordinating presentation of the standard calendar and the business calendar to indicate a same date on the standard calendar and the business calendar in response to the date selection by the user.
12. The method as recited in claim 11, wherein the step of presenting a business calendar comprises the step of presenting the business calendar with multiple cells to represent the time data structure for allowing the user to select cells.
13. The method as recited in claim 12, wherein the step of presenting the business calendar with multiple cells presents the cells in a multilevel hierarchy.
14. The method as recited in claim 12, wherein the coordinating step links between the cells on the business calendar and corresponding dates on the standard calendar.
15. The method as recited in claim 12, wherein the coordinator step changes the appearance of the cells to indicate a selected date.
16. The method as recited in claim 11 , wherein the step of providing a business calendar comprises the step of presenting a time dimensional selector as the business calendar, the time dimensional selector having multiple time levels, each having one or more time items to represent the time data structure, for allowing the user to select time items.
17. The method as recited in claim 16, wherein the step of presenting a time dimensional selector presents the time items as selection options in respective time levels.
18. The method as recited in claim 17, wherein the coordinating step links the selected date between the time items on the time dimensional selector and corresponding dates on the standard calendar.
19. The method as recited in claim 11 further comprising the step of controlling presentation of a time period selector to allow the user to select a time period in relation with the selected date.
20. A memory containing computer executable instructions that can be read and executed by a computer for managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure, the memory comprising instructions to execute a method comprising the steps of: presenting a standard calendar for allowing the user to select a date on the standard calendar; presenting a business calendar that represents the time data structure that the data analyzing system uses for allowing the user to select a date on the business calendar; receiving a date selection by a user on the standard calendar or the business calendar; and coordinating presentation of the standard calendar and the business calendar to indicate a same date on the standard calendar and the business calendar in response to the date selection by the user.
21. A propagated signal containing computer executable instructions that can be read and executed by a computer, the computer executable instructions being used to execute a method of managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure, the method comprising the steps of: presenting a standard calendar for allowing the user to select a date on the standard calendar; presenting a business calendar that represents the time data structure that the data analyzing system uses for allowing the user to select a date on the business calendar; receiving a date selection by a user on the standard calendar or the business calendar; and coordinating presentation of the standard calendar and the business calendar to indicate a same date on the standard calendar and the business calendar in response to the date selection by the user.
Description:
METHOD FOR SIMULTANEOUSLY DISPLAYING DATE INFORMATION IN TWO DIFFERENT CALENDAR TYPES

FIELD OF INVENTION

[0001] The present invention relates to a system and method for time dimension management for a data analyzing system.

BACKGROUND OF THE INVENTION

[0002] In organizations, business data, such as financial data and operational data, is typically stored in a data store with time information. In order to assist business users to examine their business data, various data analyzing applications are proposed. Using a data analyzing application, business users can navigate through data in a time dimension relevant to their business. For example, a user may be interested in viewing data from the previous quarter, last January or last year.

[0003] Existing data analyzing applications typically support a time dimension having multiple levels of time. Organizations may use a conventional Gregorian calendar to define the time dimension that they use. However, there are various ways of dividing time into levels or a hierarchy of continuous periods that follows certain patterns based on conventional calendars and time designations. For example, time may be divided by Day, Week, Calendar Week, Business Week (less than 7 days), Calendar Month, Lunar or Manufacturing Month (4 or 5 week month), Lunar or Manufacturing Quarter (13 week), Semester and Year.

[0004] Also, there are many additions and variations of time divisions into basic units and various summary levels on top of this basic unit set. Companies frequently start their fiscal year, quarter and month differently than those conventional calendar divisions. Companies may see time differently than the real world time. For example, a broadcast company may have a 28-hour day, beginning at midnight on the east coast and ending at midnight on the west coast. Further, time dimension hierarchies are often complicated by the overlap of

different periods. In particular, the weekly boundaries do not coincide with the month, quarter and Year boundaries.

[0005] Thus, in organizations with fiscal or business calendars that do not align directly with the Gregorian calendar, users need to translate from one to the other in order to comprehend the data in terms of real world time. For example, when a user looks for the impact of a business event that occurred last February, the user needs to know if last February is Q4 or Q1 in their business calendar. Also, some business calendars have complex hierarchies that are difficult to navigate. For example, in a weekly manufacturing calendar, it is difficult to know if week 13 falls in Q1 or Q2.

[0006] User interfaces of existing data analyzing applications for time navigation support either Gregorian calendar date selection, or hierarchical navigation of the business calendar dimension. Hierarchical navigation of the business calendar is typically provided using cascading menus. Cascading structures however do not provide visual feedback of the business calendar. Also, they do not show how far along the business is in any given period regardless of granularity. These user interfaces do not have ability to translate between the Gregorian calendar and the business calendar. It is often difficult or unintuitive for users to select time that they are interested.

[0007] Therefore, it is desirable to provide a user interface system that allows users to easily understand relationships between a real world calendar and their business calendar.

SUMMARY OF THE INVENTION

[0008] It is an object of the invention to provide a system and method for time dimension management that allows easier selection of desired time for a data analyzing system.

[0009] According to an aspect of the present invention there is provided a time dimension management system for managing time dimension of a data analyzing

system for analyzing data stored in a data store based on a time data structure. The time dimension management system comprises a data selector controller and a calendar coordinator. The date selector controller is provided for controlling a date selector that presents to a user a standard calendar and a business calendar. The date selector controller has a standard calendar manager for managing presentation of the standard calendar for allowing the user to select a date on the standard calendar, and a business calendar manager for managing presentation of the business calendar to represent the time data structure that the data analyzing system uses, and allowing the user to select a date on the business calendar. The calendar coordinator is provided for coordinating the standard calendar manager and the business calendar manager to indicate a selected date on the standard calendar and the business calendar.

[0010] In accordance with another aspect of the invention, there is provided a method of managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure. The method comprises the steps of presenting a standard calendar for allowing the user to select a date on the standard calendar, presenting a business calendar that represents the time data structure that the data analyzing system uses for allowing the user to select a date on the business calendar; receiving a date selection by a user on the standard calendar or the business calendar; and coordinating presentation of the standard calendar and the business calendar to indicate a same date on the standard calendar and the business calendar in response to the date selection by the user.

[0011] In accordance with another aspect of the invention, there is provided a memory containing computer executable instructions that can be read and executed by a computer for managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure. The memory comprising instructions to execute a method comprising the steps of presenting a standard calendar for allowing the user to select a date on the standard calendar, presenting a business calendar that represents the time data

structure that the data analyzing system uses for allowing the user to select a date on the business calendar, receiving a date selection by a user on the standard calendar or the business calendar, and coordinating presentation of the standard calendar and the business calendar to indicate a same date on the standard calendar and the business calendar in response to the date selection by the user.

[0012] In accordance with another aspect of the invention, there is provided a propagated signal or its carrier containing computer executable instructions that can be read and executed by a computer, the computer executable instructions being used to execute the method of managing time dimension of a data analyzing system for analyzing data stored in a data store based on a time data structure.

[0013] This summary of the invention does not necessarily describe all features of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings wherein:

Figure 1 is a block diagram showing a computer system that uses a time dimension management system in accordance with an embodiment of the invention;

Figure 2 is a block diagram showing the time dimension management system in accordance with an embodiment of the invention;

Figure 3 is a diagram showing an example of a toolbar drop down menu provided by the time dimension management system;

Figure 4 is a diagram showing an example of a time period selection image provided by the time dimension management system;

Figure 5 is a diagram showing an example of a most recent data view image provided by the time dimension management system;

Figure 6 is a diagram showing examples of a business calendar;

Figure 7 is a diagram showing an example of a time dimensional selector;

Figure 8 is a diagram showing an example of a time level selector;

Figure 9 is a diagram showing an example of a validity date indicator;

Figure 10 is a diagram showing an example of a metric history chart;

Figure 11 is a diagram showing an example of a metric history list;

Figure 12 is a diagram showing an example of an action tab;

Figure 13 is a diagram showing an example of a date selector image;

Figure 14 is a diagram showing another example of a date selector image; and

Figure 15 is a diagram showing another example of a date selector image.

DETAILED DESCRIPTION

[0015] Figure 1 shows a time dimension management system 10 in accordance with an embodiment of the present invention. The time dimension management system 10 is used in a computer system 20 having an input unit 22 and output unit 24. An organization uses a data analyzing system 30 to analyze business data stored in a data store 40. The time dimension management system 10 is suitably used to manage time dimensions for the data analyzing system 30.

[0016] The data analyzing system 30 has a user interface 32 to allow users to analyze business data. The organizations uses its own financial calendar or business calendar having a predefined multi-level time hierarchy, or a time data structure 34. The time data structure 34 contains an ordered set of time levels. In each time level has an ordered set of time periods. The ordered set of time periods in each level may comprise a continuous time span with no overlapping periods. For example, the time data structure 34 may contain four levels of time: Days, Periods, Quarter and Year.

[0017] The time data structure 34 has two types of members: leaf member and summary member. A leaf member represents values for that member alone. Time periods in summary levels represent the summarization of an adjacent set of one or more leaf time periods. Thus, for each time period, the data analyzing

system 30 may provide the value in the period, and various summary information of interest, such as a value of period-to-date one or more of the higher level periods, e.g., Quarter-to-Date and Year-to-Date, and rolling calculations, e.g., 12 month rolling total.

[0018] Summarization of time periods in one level to time periods in higher levels is expressed as a set of child-parent relationships. For example, each successive level may represent a summarization of the next lower level. Higher levels represent coarser grain than lower levels. The number of time periods in each level therefore tend to be lower in higher levels. The data analyzing system 30 provides traces of the rollup relationships and relative ordering of periods to determine concepts such as "previous Period", "Same child Period of a Sibling Period" for purposes of providing values of period-to-date periods and for trend calculations.

[0019] The data analyzing system 30 may also define a set of special periods in the zero-th level which are aggregations of other time periods. These commonly are used for period-to-date or rolling-sum totals. There are no restrictions on the content of these periods and no requirements of a continuous time span or ordering of periods in the zero-th level.

[0020] The data analyzing system 30 may also define a special level "Year", the period numbering is based on the virtual existence of an 'AH' parent. A user documentation item will need to be added to tell customers that when staging levels, Year has to get a level ID of 1 Y'.

[0021] The data analyzing system 30 may provide a primary key to time periods, by which they are referenced. The key consists of two fields, a Level Identifier and a Start date. An end date is an attribute. The combination of these three fields represents a unique key for each time period, Time periods in the same level can be ordered based on the Start date.

[0022] The business calendar is often different from a standard calendar, such as a Gregorian calendar, which is used in daily life. The time dimension management system 10 provides visualization of the hierarchy of the business calendar in the context of real time in a standard calendar. Also, Lunar/Manufacturing calendars, which are often used as a business calendar, do not maintain traditional week/month/year boundaries.

[0023] The time dimension management system 10 provides a date selector. The date selector may be provided through the user interface 32 of the data analyzing system 30, allowing users to define the context of the data that they wish to view. The date selector provided by the time dimension management system 10 presents both a standard calendar and a business calendar. The standard calendar is typically a conventional Gregorian calendar, but it may be a different calendar. The business calendar represents the time data structure that the organization uses for its business, such as a fiscal year calendar. It presents the hierarchy of the time data structure in an intuitive manner.

[0024] The presentation of the standard calendar and the business calendar is coordinated or synchronized such that corresponding dates are visually indicated on both calendars.

[0025] Figure 3 shows an example of a toolbar drop down menu 100 for a date selector. In this embodiment, the a toolbar drop down menu 100 provides options: "select a period to view" 102 and "view most recent data" 104. When the user selects the first option 102, a date selector 110 shows the selected period "September FY2004" on the business calendar 120 and September 24, 2004 on the standard calendar 130, as shown in Figure 4. The date selector 110 has a business calendar 120 and a Gregorian calendar 130. The business calendar 120 has multiple cells 122 that are arranged to represent the hierarchy 124 of the time data structure of the fiscal calendar or business calendar that the organization uses. In this example, the user has selected the business calendar level 126 as "Month", and thus there are the business calendar 120 shows three

levels, including year, quarter and month. The Gregorian calendar 130 has a year selection field 132, month selection field 134 and a day or date selection field 136. This example shows that September FY2004 on the business calendar 120? and September 24, 2004 on the Gregorian calendar 130.

[0026] Thus, the time dimension management system 10 allows users to easily visualize their business calendar hierarchy and where they are within any given period. It also allows users to easily navigate between relevant periods, for example to view the data for the same period in the previous year or quarter. The time dimension management system 10 enables users to navigate either calendar without knowing or calculating their corresponding periods in the other calendar.

[0027] Figure 2 shows details of the time dimension management system 10 in accordance with an embodiment of the invention. The time dimension management system 10 has a date selector controller 50 that provides a date selector having a standard calendar and a business calendar, and allows a user to select a date based on which the user wants to analyze data through the data analyzing system 30.

[0028] The date selector controller 50 has a standard calendar manager 52 and a business calendar manager 54.

[0029] The standard calendar manager 52 manages presentation of the standard calendar and allows the user to select a date on the standard calendar. In the example shown in Figure 4, the standard calendar manager 52 presents a conventional Gregorian calendar 130 in which months and days are arranged in a conventional manner. The standard calendar manager 52 may display the a standard calendar 130 in a different arrangement or manner, e.g., by arranging months to correspond to the fiscal year of the organization. For example, if the first day of the fiscal year is February 1 in the organization, the standard calendar manager 52 may present months in the month selection field 134 in sequence starting from February. The standard calendar manager 52 may show in the date selection field 136 those days that are available in the business or fiscal calendar

120 differently from unavailable days. Selection of year, month or date refreshes the display of the other fields to show the available dates of the month.

[0030] The business calendar manager 54 manages presentation of the business calendar to represent the time data structure that the organization uses, and allows a user to select a desired date on the business calendar. To represent the time data structure, the business calendar manager 54 may use a time cell handler 56.

[0031] The time cell handler 56 provides the business calendar using multiple cells, each representing a unit of the business calendar. The time cell handler 56 handles presentation of the cells based on the time levels of the business calendar in accordance with the time data structure 34 of the data analyzing system 30. The user can select a cell in each level on the business calendar to specify a desired date on the business calendar.

[0032] The example shown in Figure 4 is an example of a business calendar that is presented by the time cell handler 56 using multiple cells arranged in hierarchy. The fiscal calendar 120 has multiple cells 122 arranged to represent the hierarchy of the fiscal calendar having four levels: year, quarter, month and day. Selection of a cell in a level refreshes the display of the cells in other levels. For a different fiscal calendar, there may be fewer or more levels and cells 122 may be arranged differently. Figure 6 shows different examples 140, 142 of business calendar with cells.

[0033] In this embodiment, cells 122 have no labels thereon in order to present a visual representation of the current placement within the fiscal calendar structure. This allows users to navigate to any representative period without having to reselect the child cells of the selected level. Cells 122 may be labeled appropriately in a different embodiment.

[0034] The business calendar may be presented in various different ways, as further described below.

[0035] The time dimension management system 10 also has a calendar coordinator 60 for coordinating or synchronizing the standard calendar manager 52 and the business calendar manager 54 so as to indicate a same date on both the standard calendar and the business calendar. The calendar coordinator 60 determines the correspondence between the standard calendar and the business calendar using the time data structure 34. The calendar coordinator 60 may provide links, linking each date on the standard calendar with corresponding cells on the business calendar 120. Thus, selecting a date on the standard calendar automatically highlights cells representing the same date on the business calendar, and vice versa. It is a 1 :1 relationship between the standard calendar and the business calendar. A calendar date selected on the standard calendar equals a period in the business calendar based upon the time dimension level or rollup level that the user has defined.

[0036] In the date selector 110 shown in Figure 4, hyperlinks 118 are provided to dates on the standard calendar 130, linking each date on the standard calendar with corresponding cells 122 on the fiscal calendar 120. In Figure 4, the user has selected a date, September 24, 2004, in the Gregorian calendar 130. This date is shown in the business calendar 120 with the highlighted cells of each level, i.e., the third month of the third quarter of the fourth fiscal year. The user can now navigate by date or by period on the business calendar 120 or on the Gregorian calendar 130. The name of the year, quarter, month or day is displayed in a tool tip 112 when the user's cursor hovers over a cell in this display 110.

[0037] When the user selects a new date on the business calendar 120 or on the Gregorian calendar 130 the date selector controller 50 automatically updates the view of the Gregorian calendar 130 or the structure view of the business calendar 120.

[0038] When the user selects the second option "View most recent data" 204 from the toolbar drop down menu 200 shown in Figure 3, the date for the most recent

data is shown in the business calendar 120 and the standard calendar 130 as shown in Figure 5.

[0039] In the date selector 110, 120 shown in Figures 4 and 5, the date selector controller 50 provides side by side navigation of the business calendar 120 and the Gregorian calendar 130. Users can use the date selector to scroll through forward or backward, through fiscal years; select a reporting period as defined by the fiscal calendar; select a day of the reporting period for which to show data; and jump to the most recent data in the data store. The date selector controller 50 allows users to navigate the reporting periods of their respective companies regardless of the type of fiscal calendar 120 used, while also maintaining some sense of orientation of location in a typical real world calendar 130. In a different embodiment, a standard calendar and a business calendar may be arranged differently on a display.

[0040] In the above example, the business calendar manager 54 provides a business calendar with multiple cells to represent the time data structure of the business calendar. When an organization uses a custom calendar which does not contain standard time definitions, a different form of a date selector may be useful.

[0041] Referring back to Figure 2, the business calendar manager 50 may use a time dimensional selection handler 58 for presenting a time dimensional selector or rollup selector as a business calendar. The time dimensional selection handler 58 allows the user to select a time period defined by the time data structure 34 of the data analyzing system 30. Thus, the user can set the context of each level at which the user navigates the calendar. For example, if the user selects quarter, the user navigates the quarters of the business calendar and the data displayed in the main user interface is aggregated to the quarter. If the user changes the rollup to months, the aggregation displays the month level and the time line navigated at the month level. The time dimensional selection handler 58 may

represent time levels of the data structure 34 in a tree structure or using a drill down mechanism that allows users to select the individual time level properties.

[0042] Figure 7 shows an example of a time dimensional selector 160 presented by the time dimensional selection handler 58. This time dimensional selector 160 represents a custom calendar having multiple time levels 162, e.g., "Cookies", "Lorries", "Jam", and so on. Time levels are dictated and populated by the time data structure 34. Each time level has one or more time items 164. Time items in each time levels are provided using a pull down window 166.

[0043] Using the time dimensional selector 160, the user can select a time item in each level that the user wishes to view. Selecting one level causes the next level becomes enabled, and allows the user to make a selection of a time item on the next level. This continues until all levels provided in the time dimensional selector 160 are selected. The combination of the selected time items in the levels correspond to a date or dates in the standard calendar. The calendar coordinator 60 provides links between the standard calendar manager 52 and dimensional selection handler 58 so that selecting a set of time items in the dimensional selector 160 automatically shows a corresponding date or dates in the standard calendar, and vice versa.

[0044] The time dimensional selection handler 58 allows the user to set the time level selection to the lowest defined level in the time dimensional selector. In this example 160, if the user selects an item at the "Cookies Level", the user would only be able to select time level selections appropriate to that level.

[0045] Referring back to Figure 2, the time dimension management system 10 may have a time level selection controller 80 for presenting a time level selector. The time level selection controller 80 allows the user to select a time level at which the user wishes to view the data. The time level selection controller 80 may provide a time level selector in a form of a roll-up control.

[0046] Figure 8 shows an example of a time level selector 170. The available selections are defined by the time data structure 34. In the example shown in Figure 8, time levels available for selections are shown in a normal tone and unavailable time levels are shown in a half tone. Not all time levels are available for selection in Figure 8 because the lowest time level of the date/time selection has not been selected. Availability of time levels are determined depending on the selections in the time dimensional selector. This example represents the view of a data store that is only defined down to the "period" level. To make the lower time level selections available, the user may open the dimensional selector and identify the details of the lower time levels. When the user uses a date selector, the lowest level "Day" is defined and all time levels are shown available.

[0047] When the user selects a date on the standard calendar or the business calendar or using the time dimensional selector, selecting a time level specifies a period for which the data is viewed. The period starts from the date selected on the standard calendar or on the business calendar or by the time dimensional selector.

[0048] The time level selector 170 shown in Figure 8 allows the user to see options of year, quarter, period, week, day and view most recent data. In a different embodiment, this type of time level selector may be amalgamated into the main calendar selector to set the navigation context and to make the calendar display simpler.

[0049] Figure 13 shows a date selector 200 in accordance with another embodiment of the invention. The date selector 200 has a Gregorian calendar 210 and a fiscal calendar 220. In Figure 13, the user has selected a date, March 14, 2004, on the Gregorian calendar 210. This date is shown in the fiscal calendar 220 with the highlighted cells of each level, i.e., the 10th day, of the 1st month of the 1st quarter of fiscal year 2004. The user can now navigate by date or by period on the Gregorian calendar 210 or on the fiscal calendar 220. The

name of the year, quarter, month or day is displayed in a tool tip 230 when the user's cursor hovers over a cell in this display 200.

[0050] Figure 14 shows that the user now selects on the Gregorian calendar 210 March 16, 2004. This selection of a different date automatically updates the structure view of the fiscal calendar 220.

In the example shown in Figure 15, the user chooses to view the same relative day and month in the third quarter 222 on the business calendar 220. This selection automatically updates the Gregorian calendar 210 to show September 16, 2004. This navigation allows users to quickly move from one contextual time to another with little to no effort.

[0051] The time dimension management system 10 may also have a validity date indication controller 90. The validity date indication controller 90 provides an indication of a validity date that identifies when the data was published. As shown in Figure 9, a validity date indication 180 may be provided with or adjacent to the data or data options 182 presented by the data analyzing system 30.

[0052] A time dimension that defines the levels of time differs from other dimensions. Each time period is part of a continuum of periods. In analyzing business data, users are often interested in both the quantity in a period and the cumulative value for that period for either some fixed number of consecutive periods or relative to the start of any one of its parent periods. Data is added to a data analyzing application in time period based increments. The most recent time period may be in progress and have only partial data.

[0053] The calendar control described above affects date selection throughout the user interface 32 of the data analyzing system 30. The affects of the data selection are described using a metric data analyzing system that provides metric views of data. The time data structure of the metric data analyzing system has the following features.

[0054] Three concepts define a time dimension: time levels structure, time periods structure and time relationships structure. These structures have the following attributes that are used for time calculations. ~

[0055] The time levels structure has attributes: Level Identifier (unique among levels), Language Text Id (to get Level Name), Level Number (numeric; indicating position in Level Hierarchy. 1 indicates the highest level ; 0 is reserved for internal use), and Reference Display Level ID (used as a default for the "latest view" feature in the Ul).

[0056] The time periods structure has attributes: Time Period ID, Level Identifier (link to TIMEJ-EVELS), Start Time Code, End Time Code, Language Text Id (to get Level Name), Child Count (a count of children in the next lower level), Internal fiscal year value (fiscal year value used for internal purposes only), Period number (the order of period under a given parent level member), Previous period identifier (represents the identifier of the previous period in the same level), Period type (internal use), and Reference level identifier (internal use).

[0057] The time relationships structure contains attributes: Parentldentifier (link to Time Periods Table), and Childldentifier (link to Time Periods Table).

[0058] Also, a time language text structure is used to provide multi-lingual representation of period and level display strings. Attributes include: Language_Text_ld, Language_Cd, Short_Name, and Long_Name.

[0059] Certain periods may be used to calculate period-to-date comparison values. These values are calculated as of specified "Reference" periods. There is one Reference period in each time level. Reference periods are set at the time of data load. The Reference period for each time level can be explicitly set by the administrator or be defaulted from the current date (at the time that the loader is run).

[0060] If a Reference period for a time level is not explicitly set, it is assumed to be the most recent completed full time period of that level. For example, an

application with Year, Quarter, Month, and Day time levels loaded on November 17, 2004 would have the following default Reference periods:

November 16, 2004 in the day level,

October 2004 in the month level,

Q3, 2004 in the quarter level,

2003 in the year level.

[0061] A set of special cumulative time periods are provided based on the Reference periods. In the general case, there is one cumulative period for each for each higher-level period that exists for each Reference period.

[0062] In the example given above, the Cumulative periods would be: For November 16:

Month-to-date at daily grain for November 16

Quarter-to-date at daily grain for November 16

Year-to-Date at daily grain for November 16. For October 2004

Quarter-to-date at monthly grain for October.

Year-to-date at monthly grain for October. For Q3 2004

Year-to-date at quarterly grain for the 3rd quarter.

[0063] In many situations, such as when the significant period coincides with a higher level boundary, some or all of the significant periods mentioned are redundant to periods which are already in the time dimension. In such cases, the redundant significant period will not be created.

[0064] For each cumulative time period there are a set of one or more comparative time periods with similar time duration in an earlier time scale. Continuing the example from the previous section, the cumulative time period:

Month-to-date at daily grain for Nov 16 has 3 potential comparative time periods. They are:

Month-to-date at daily grain for Oct 16 (Same period in previous month)

Month-to-date at daily grain for August 16 (Same period in the same relative month in previous quarter)

Month-to-date at daily grain for Nov 16, 2003 (Same period in the same relative month in previous year).

[0065] Values for comparison periods should not be staged since they will be generated by MMLOADER. The user might be required to stage localized names for those periods though in the case of a custom calendar.

[0066] Trend calculations are based on a comparison of one time period with a corresponding earlier time period. By default, trend is based on the immediately previous similar time period. For example, the trend for Quarter 2, 2004 is based the comparisons of values from Quarter 1 , 2004. The trend for Quarter 1 , 2004 is based on a comparison of values from Quarter 4, 2003.

[0067] However, the trend of interest to a customer may not be to the immediately preceding similar period but to a similar period in a previous higher level. In the continuing example, a customer may be more interested in the trend from Quarter 4, 2003 to Quarter 4, 2004 than the trend from Quarter 3, 2004 to Quarter 4, 2004.

[0068] Two methods for users to generate or modify their time dimensions are provided: generating standard time dimension based on predefined levels, and generating a time dimension from tables.

[0069] In the method of generating standard time dimension based on predefined levels, a time dimension can be generated consisting of one or more of the standard date levels, such as: Fiscal/Calendar Year, Fiscal/Calendar Quarter, Lunar Quarter, Fiscal/Calendar Month, Lunar Month (4 Weeks), Week (5, 6 or 7 day), and Day. Various parameters specify the beginning and end period, the number of days in a week and fiscal period boundaries.

[0070] In the method of generating a time dimension from tables, the Time Dimension Staging table will be expended to provide a means to define each period and each relationship to the loader.

[0071] A single time granularity must be chosen for each measure. Values loaded that are at a lower level of granularity then the will be rejected. Values loaded which are at a higher level of granularity will be allocated to the stated level by an allocation formula. For a metric type (measure) that is not flagged as STAGED (user provided rollups) data is expected to come in at only one constant level for each value type.

[0072] The following allocation formulas may be allowed:

Proportional to the number of lower level time period members (20 days) Proportional to the ratios of a stated "Benchmark Period". (7 days) Proportional to a "template Measure" for the same time period. (8 days)

[0073] Both Template Measure and Benchmark Period are attributes of a measure. Benchmark period also has a "Global" default value. All allocations and summarizations are performed during the loading process.

[0074] A metric data analyzing system model with no data and no generated time periods can have unlimited changes to its structure. Once Time periods are entered, changes are limited to the following:

New Time periods can be added to the end.

Old time periods (and associated data) can be removed from the beginning. Granularity levels for existing Measures can be modified. Levels can be added or removed. Parent Child relationships can be altered.

[0075] Where data is created, new data will not be added until the next load. Where data is destroyed, the data will be removed at the time of the structural change.

[0076] Different measures and Value types have different time granularities. Actual values may be recorded at the daily level but target Values set at the

monthly level. The metric data analyzing system offers a form of Variable Measure Granularity in that some measures can be entered at the daily level and summarized at the Period level or entered at the Period level and allocated.

[0077] In this metric data analyzing system, the calendar control and associated . time level selector affect the data views, such as metric list values (on scorecard, metric type, owner, group or objective), history chart, history list and actions tab.

[0078] The values displayed on a metric list are controlled by the calendar control. In a recent data view, the values displayed are the most recent actual values available for each list, and at the lowest available time grain. For example, if revenue is provided monthly and bug count daily, both the most recent daily bug count and the revenue for the most recent month are displayed.

[0079] When specific times and time levels are selected, the metric list view displays all metrics, but only the values available for that time and time level. Metrics available only at a higher time grain (e.g. months or quarters) are displayed as "under construction" when viewing at a lower time grain such as days.

[0080] The time levels and range displayed by a history chart may be controlled by the calendar control of the time dimension management system 10 or by local controls as defined in a History Chart specification of the data analyzing system 30. For example, the metric history chart may be displayed such that in recent data view, the history chart displays bars at the lowest time grain available for this metric. The number of bars displayed is defaulted per the History Chart specification. If a specific date and time level is selected in the global calendar control, it sets the default level and initial time period for the history chart. The user may navigate away from this view using the local history chart navigation controls. However, if a new global calendar date and level are selected, this overrides any local history chart navigation settings. A sample view is shown in Figure 10.

[0081] A metric history list displays available periods and levels for the year selected in the global calendar control. Thus, the global time level drop down may be disabled when the user is viewing metric history list displays. In recent data mode, the most recent year in which data exists for this metric is displayed. A sample view is shown in Figure 11.

[0082] The data analyzing system 20 may also provide an action display, as shown in Figure 12. The actions display displays actions associated with the currently selected period as well as those for which action is required and has not been completed. In recent data view, actions for the period in which the most recent actual value is available is displayed.

[0083] As described above, the calendar control provided by the time dimension management system 10 is flexible enough to allow users to navigate a fiscal year, regardless of the type of business calendar that is employed by the organization. The time dimension management system 10 allows users to navigate periods of their business while maintaining a grounding in a real world calendar, e.g., a Gregorian calendar. When the time dimensional selection handler 58 is used, the time dimension management system 10 can also provide a mechanism that supports arbitrary custom defined business calendars, e.g., non-time related calendars.

[0084] The time dimension management system of the present invention may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer readable memory and a computer data signal or its carrier are also within the scope of the present invention, as well as the hardware, software and the combination thereof.

[0085] The present invention has been described with regard to one or more embodiments. However, it will be apparent to persons skilled in the art that a number of variations and modifications can be made without departing from the scope of the invention as defined in the claims.