1. Technical Field
The invention relates generally to presenting data to a user, and more particularly, to a solution for generating a three-dimensional table for displaying data, which allows a user to perform various manipulations on the table to alter the displayed data.
2. Background Art
Data is often displayed in a two-dimensional table (e.g., spreadsheet). This display format is highly versatile and is effective at presenting numerous types of data to a user for review, comparison, modification, etc. However, for some data, such as data that acquires new values over several instances (e.g., time intervals, geographic areas, etc.), a third-dimension is desirable. For example, a two-dimensional table effectively displays numerous attributes (e.g., name, sales, costs, profits, etc.) for several items (e.g., products). However, the two-dimensional table does not effectively display how this information may have changed over numerous instances (e.g., fiscal quarters) of the data. To this extent, the two-dimensional table does not allow for a ready comparison of a varying number of instances, two or more particular instances, or the like.
As a result, it is often desirable to display data in three-dimensions. However, current solutions do not provide functionality that would enable a user to selectively manipulate the three-dimensional table thereby altering the displayed data in a desired manner. Consequently, the usefulness of displaying data in three-dimensions has been limited to date. In light of this, a need exists for an improved solution for presenting data to a user in a three-dimensional table that allows a user to perform various manipulations to the table.
The invention provides an improved solution for presenting data to a user in a three-dimensional table. In particular, the invention generates the three-dimensional table, which has a front face and at least one side face, to display the data. The front face can comprise a two-dimensional table that displays data for one of a plurality of instances of a dataset in the data. Subsequently, the three-dimensional table can be manipulated by rotating the table, displaying another dataset instance/two-dimensional table as a front face, displaying two or more dataset instances/two-dimensional tables simultaneously, etc. Additionally, a user can perform one or more operations on the data, such as sorting, filtering, adding calculations, and the like. As a result, the invention provides a comprehensive solution for displaying data in a three-dimensional format.
A first aspect of the invention provides a method of managing a three-dimensional table for presenting data, the method comprising: generating the three-dimensional table for the data, wherein the three-dimensional table comprises a plurality of two-dimensional tables that define a front face and at least one side face; receiving a manipulation request; and manipulating the three-dimensional table based on the manipulation request.
A second aspect of the invention provides a method of managing a three-dimensional table for presenting data, the method comprising: obtaining the data, wherein the data comprises a plurality of instances of a dataset; generating a front face of the three-dimensional table, wherein the front face comprises one of the plurality of instances; generating at least one side face of the three-dimensional table, wherein the at least one side face comprises each of the plurality of instances; receiving a manipulation request; and manipulating the three-dimensional table based on the manipulation request.
A third aspect of the invention provides a system for managing a three-dimensional table for presenting data, the system comprising: a display system for generating the three-dimensional table for the data, wherein the three-dimensional table comprises a plurality of two-dimensional tables that define a front face and at least one side face; and a manipulation system for receiving a manipulation request and manipulating the three-dimensional table based on the manipulation request.
A fourth aspect of the invention provides a program product stored on a computer-readable medium, which when executed, manages a three-dimensional table for presenting data, the program product comprising: program code for generating the three-dimensional table for the data, wherein the three-dimensional table comprises a plurality of two-dimensional tables that define a front face and at least one side face; program code for receiving a manipulation request; and program code for manipulating the three-dimensional table based on the manipulation request.
A fifth aspect of the invention provides an interface for presenting data to a user, the interface comprising: means for generating a three-dimensional table for the data, wherein the three-dimensional table comprises a plurality of two-dimensional tables that define a front face and at least one side face; means for displaying the three-dimensional table to the user; means for receiving a manipulation request from the user; and means for manipulating the three-dimensional table based on the manipulation request.
A sixth aspect of the invention provides a method of deploying an application for managing a three-dimensional table for presenting data, the method comprising: providing a computer infrastructure being operable to: obtain the data, wherein the data comprises a plurality of instances of a dataset; generate a front face of the three-dimensional table, wherein the front face includes data for one of the plurality of instances; generate at least one side face of the three-dimensional table that comprises each of the plurality of instances; receive a manipulation request; and manipulate the three-dimensional table based on the manipulation request.
The illustrative aspects of the present invention are designed to solve the problems herein described and other problems not discussed, which are discoverable by a skilled artisan.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:
It is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
As indicated above, the invention provides an improved solution for presenting data to a user in a three-dimensional table. In particular, the invention generates the three-dimensional table, which has a front face and at least one side face, to display the data. The front face can comprise a two-dimensional table that displays data for one of a plurality of instances of a dataset in the data. Subsequently, the three-dimensional table can be manipulated by rotating the table, displaying another dataset instance/two-dimensional table as a front face, displaying two or more dataset instances/two-dimensional tables simultaneously, etc. Additionally, a user can perform one or more operations on the data, such as sorting, filtering, adding calculations, and the like. As a result, the invention provides a comprehensive solution for displaying data in a three-dimensional format.
Turning to the drawings,
Presentation system 30 is shown implemented on computer 14 as computer program code. To this extent, computer 14 is shown including a processor 20, a memory 22, an input/output (I/O) interface 24, and a bus 26. Further, computer 14 is shown in communication with an external I/O device/resource 28 and a storage system 29. In general, processor 20 executes computer program code, such as presentation system 30, that is stored in memory 22 and/or storage system 29. While executing computer program code (e.g., presentation system 30), processor 20 can read and/or write data, such as data 40, to/from memory 22, storage system 29, and/or I/O interface 24. Bus 26 provides a communication link between each of the components in computer 14. I/O device 28 can comprise any device that enables user 12 to interact with computer 14 (e.g., keyboard, pointing device, display, etc.).
Alternatively, user 12 can interact with another computing device (not shown) in communication with computer 14. In this case, I/O device 28 can comprise any device that enables computer 14 to communicate with one or more other computing devices (e.g., network adapter, I/O port, modem, etc.) over a network. The network can comprise any combination of various types of communications links. For example, the network can comprise addressable connections that may utilize any combination of wireline and/or wireless transmission methods. In this instance, the computing devices (e.g., computer 14) may utilize conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards. Further, the network can comprise one or more of any type of network, including the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), etc. Where communications occur via the Internet, connectivity could be provided by conventional TCP/IP sockets-based protocol, and a computing device could utilize an Internet service provider to establish connectivity to the Internet.
Computer 14 is only representative of various possible combinations of hardware. For example, processor 20 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Similarly, memory 22 and/or storage system 29 can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. Further, I/O interface 24 can comprise any system for exchanging information with one or more I/O devices 28. Still further, it is understood that one or more additional components (e.g., system software, math co-processor, etc.) not shown in
As discussed further below, presentation system 30 manages a three-dimensional table for presenting data 40 to user 12. To this extent, presentation system 30 is shown including a data system 32 for managing data 40, a display system 34 for generating the three-dimensional table for data 40, an operation system 36 for performing one or more operations on data 40, and a manipulation system 38 for manipulating the three-dimensional table. Operation of each of these systems is discussed further below. However, it is understood that some of the various systems shown in
As mentioned above, data system 32 manages data 40. Data 40 can comprise any type/format of data. In one embodiment, data 40 comprises a plurality of instances of a dataset. Each dataset can include one or more items with corresponding values for one or more attributes of each item. To this extent, data 40 can be stored in storage system 29 using any conventional manner such as one or more tables in a database, one or more files, etc. When user 12 requests to view all or a portion of data 40, data system 32 can retrieve the requested data 40 from storage system 29, and store it in memory 22 in a three-dimensional array or the like.
In any event, data system 32 can provide data 40 to display system 34 for presentation to user 12. Display system 34 can generate a three-dimensional table and/or an interface that includes the three-dimensional table for presenting data 40 to user 12. Subsequently, display system 34 can display the three-dimensional table/interface or provide the three-dimensional table/interface to another system (not shown) for rendering. For example,
Regardless, three-dimensional table 52 can comprise a plurality of two-dimensional tables 56A-D that define a front face 58 and at least one side face 60A-B. In this case, one of the plurality of two-dimensional tables (e.g., two-dimensional table 56A) is displayed as front face 58, and each side face 60A-B comprises a row for each of the two-dimensional tables 56A-D. When data 40 (
Three-dimensional table 52 can include presentation information that makes the displayed data 40 (
For example, user 12 can request that operation system 36 (
In any event, interface 50 is also shown including a manipulation request interface 54. Manipulation request interface 54 enables user 12 (
For example,
Returning to
Various other manipulations are possible. For example,
It is understood that the various manipulations discussed herein are only illustrative. For example, any number of two-dimensional tables 56A-D could be displayed simultaneously. Additionally, three-dimensional table 52 could be modified by filtering one or more instances, removing one or more data attributes, etc. Further, it is understood that the various solutions for enabling user 12 (
In another illustrative application, three-dimensional table 52 (
To this extent,
In any event, data system 32 (
In order to generate three-dimensional table 52, data system 32 (
When generating three-dimensional table 52, display system 34 (
In order to improve performance, data system 32 (
To generate three-dimensional table 52 of
As discussed herein, the invention includes methods for managing the three-dimensional table 52. For example,
Regardless, it should be appreciated that the teachings of the present invention could be offered as a business method on a subscription or fee basis. For example, presentation system 30 (
The present invention also can be embedded in a computer program product or a propagated signal, which comprises all the respective features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, propagated signal, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.
Number | Name | Date | Kind |
---|---|---|---|
5319777 | Perez | Jun 1994 | A |
5359724 | Earle | Oct 1994 | A |
5557712 | Guay | Sep 1996 | A |
5572644 | Liaw et al. | Nov 1996 | A |
5604854 | Glassey | Feb 1997 | A |
5724492 | Matthews et al. | Mar 1998 | A |
5880733 | Horvitz et al. | Mar 1999 | A |
6023275 | Horvitz et al. | Feb 2000 | A |
6104325 | Liaw et al. | Aug 2000 | A |
6184889 | D'Amora | Feb 2001 | B1 |
6229542 | Miller | May 2001 | B1 |
6282551 | Anderson et al. | Aug 2001 | B1 |
6369839 | Peterson | Apr 2002 | B1 |
6597358 | Miller | Jul 2003 | B2 |
6629097 | Keith | Sep 2003 | B1 |
6707454 | Barg et al. | Mar 2004 | B1 |
6718386 | Hanfland | Apr 2004 | B1 |
6859907 | McGarry | Feb 2005 | B1 |
6973642 | Minemoto | Dec 2005 | B2 |
7240291 | Card et al. | Jul 2007 | B2 |
7624339 | Engel et al. | Nov 2009 | B1 |
20010016855 | Hiroshige | Aug 2001 | A1 |
20020091728 | Kjaer et al. | Jul 2002 | A1 |
20020184260 | Martin et al. | Dec 2002 | A1 |
20030188259 | Aureglia et al. | Oct 2003 | A1 |
20040088239 | Eder | May 2004 | A1 |
20040113915 | Ohtsuki et al. | Jun 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20070266308 A1 | Nov 2007 | US |