SYSTEM AND METHOD FOR PROCESSING AND/OR ANALYZING OLAP BASED DATA ACCORDING TO ONE OR MORE PARAMETERS
A system and method for processing a base vector derived from data stored in an OLAP cube. The system comprises a component configured for defining a base vector and a comparison vector, wherein the comparison vector comprises one or more dimensions corresponding to dimensions of the base vector. The system includes a component configured for defining a time scope associated with the base vector. The system further comprises a component configured for performing one or more analysis operations on the comparison vector to generate comparison values and a component configured for rendering the base and comparison vectors. According to another aspect, the system includes a component for altering or modifying individual data cells in the base vector and/or parameters associated with the base vector and/or analysis operation.
The present invention relates to computer systems and more particularly, to a data analysis processor configured for processing and/or analyzing a vector based on OLAP data.
BACKGROUND OF THE INVENTIONOnline analytical processing or OLAP is a technique in business intelligence applications and comprises providing answers to analytical queries that are multidimensional in nature. Examples of OLAP applications include business reporting for sales, marketing, management reporting, business process management, budgeting and forecasting, financial reporting and the like.
Databases configured for OLAP applications typically comprise a multidimensional data model, often referred to as a “cube”. A multidimensional data model allows for complex analytical queries with rapid execution time. The cube structure comprises aspects of navigational databases and hierarchical databases.
An OLAP cube can be thought of as an extension of the two-dimensional array of a spreadsheet, and comprises dimensions. In the context of an OLAP cube, dimensions provide additional methods for analyzing data. For example, an OLAP cube can be configured to allow a company to analyze financial data by product, by time-period, by city, by type of revenue and cost, and by comparing actual data with a budget. In a further aspect, a user, for example, a financial analyst, may want to view the data in various ways, such as displaying all the cities down the page and all the products across a page. This could be for a specified period, version and type of expenditure. Having seen the data in this particular way the analyst might then immediately wish to view it in another way. The cube structure provides the capability to re-orient the display so that the data displayed now had periods across the page and type of cost down the page. Because this re-orientation involved re-summarizing very large amounts of data, this new view of the data had to be generated efficiently to avoid wasting the analyst's time, i.e. within seconds, rather than the hours a relational database and conventional report-writer might have taken.
According to another aspect, it may be desirable to analyze data in a cube on a cell or tuple basis. For example, it may be desirable to provide a delta or % change analysis on data in a cube cell by comparing that data with cube data associated with another cell.
It will be appreciated that while an OLAP cube provides a flexible and multidimensional structure data model, there remains a need in the art for improvements, such as, data applications including data acquisition and processing techniques capable of exploiting the capabilities of an OLAP cube.
SUMMARY OF THE INVENTIONThe present invention provides a method and system for processing and/or analyzing a vector based on information and data stored in an OLAP database,
According to one aspect, there is provided a system for processing a base vector derived from data in an OLAP database comprising: a component configured for defining the base vector, the base vector having a time dimension and one or more other dimensions; a component configured for defining a comparison vector and selecting one or more dimensions for the comparison vector wherein the selected one or more dimensions correspond to one or more dimensions of the base vector; a data analysis engine configured to apply one or more analysis operations to the comparison vector and modify the base vector according to the one or more analysis operations; and a component for rendering the base vector.
According to another aspect, there is provided a computer-implemented method for analyzing a base vector comprising data from an OLAP database, the method comprises the steps of: configuring the base vector wherein the base vector comprises a time dimension and one or more other dimensions; configuring a comparison vector and selecting one or more dimensions for the comparison vector wherein the selected one or more dimensions correspond to one or more dimensions of the base vector; applying one or more analysis operations to the comparison vector and modifying the base vector according to the one or more analysis operations; and rendering the resulting base vector.
According to a further aspect, there is provided a computer program product for processing a base vector comprising data from an OLAP database, said computer program product comprising: a storage medium configured to store computer readable instructions; the computer readable instructions including instructions for, defining the base vector wherein the base vector comprises a time dimension and one or more other dimensions; defining a comparison vector and selecting one or more dimensions for the comparison vector wherein the selected one or more dimensions correspond to one or more dimensions of the base vector; applying one or more analysis operations to the comparison vector and modifying the base vector according to the one or more analysis operations; and rendering the resulting base vector.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of embodiments of the invention in conjunction with the accompanying figures.
Reference will now be made to the accompanying drawings which show, by way of example, embodiments of the present invention, and in which:
Like reference numerals indicate like or corresponding elements or components in the drawings.
DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTIONEmbodiments according to the present invention are described below by way of a set of screen shots that would be displayed to a user of the system. The screen shots comprise exemplary data or information used by companies for planning, budgeting, monthly financial reporting and/or consolidation of financial results. In the context of the present description, numerical data is stored in an OLAP database, and comprises one or more cubes. Each cube comprises a structure based on dimensions and members.
The cubes and dimensions will vary from company to company. In addition, the names of dimensions within cubes can vary. For instance, a cube can have dimensions named “Accounts”, “Versions” and “Time”, and a number of other dimensions with other names. Each dimension comprises a list of members. For example, an “Organization” dimension in a cube comprises a list of departments and reporting entities for a company. The dimensions can also have a calculation structure that describes data aggregation, e.g. ‘East Region’=‘New York’ plus ‘Boston’, or a calculation structure that describes a more complex calculation, e.g. ‘Benefits’ 10% of ‘Salaries’. It will be appreciated that calculations can also be different for each company.
In the context of the present description, data is stored in an OLAP database as a single numerical value for each dimension combination. For example, if the dimensions are ‘Time’, ‘Accounts’, ‘Version’ and ‘Organization’, each of which has a member called ‘Jan08’, ‘Salaries’, ‘Plan’ and ‘Boston’ respectively, then one numeric value is stored for this combination of members. Similarly, a different number is stored in the database for ‘Feb08’, ‘Salaries’, ‘Plan’ and ‘Boston’.
Typically, data is accessed (i.e. imported) in an OLAP database at a detailed level, for example, using the ‘Time’, ‘Accounts’, ‘Version’ and ‘Organization’ dimensions (e.g. ‘Jan08’, ‘Salaries’, ‘Plan’ and ‘Boston’). The data is then processed and reported at an aggregated level to provide historical information, for example, according to the dimensions, ‘Total Year’, ‘Total Expenses’, ‘Plan’ and ‘Total Company’.
As will be described in more detail below, the present invention comprises embodiments of a processing mechanism or processor configured for taking any cell in an OLAP cube and generating a base vector for the selected cell and configuring a comparison vector associated with the base vector and performing operations on data for the base vector based on the comparison vector. The comparison parameters are configured for defining a time vector for entering data, and/or comparing time vectors, accounts, organizational groups or other entities. According to another aspect, the resulting base vector can be saved back to the cube, and made available in a report, and/or for further processing and/or analysis.
In accordance with embodiments of the present invention a system and techniques (e.g. computer-implemented processes) are described in more detail below for accessing data in an OLAP database and configuring processes or operations for comparing or analyzing the data according to one or more parameters or comparison benchmarks.
Reference is made to
According to an embodiment, the system 100 includes a storage module indicated generally by reference 132. The storage module 132 is configured to store data process definitions, for example, as defined by a user. According to an embodiment, the storage module 132 is implemented using a relational data structure or configuration.
As shown in
The client interface module 124 is configured to provide an interface with the client machines 110. According to an embodiment, the client interface module 124 is implemented with a user interface or GUI (Graphical User Interface) which runs on each of the client machines 110 as indicated generally by reference 112. According to an embodiment, the client interface module 124 and the user interface 112 comprise logic and processes configured to provide a user with the capability to specify a processing request for data in the database 140, i.e. a process for querying structural component(s) associated with one of the cubes.
The calculation engine module 126 comprises a computer-implemented process(es) or function(s) that runs on the server 120 and performs manipulation of data in the cube 142 according to a specification, i.e. a data process specified and provided by the user through the user interface 112. According to an embodiment, the execution of a data process is independent of the specification of the data process. For example, a data process can be executed multiple times and the execution of a data process can be scheduled to run at any time. According to an embodiment, the calculation engine is configured to execute process definition(s) retrieved or returned from the storage module 134.
Embodiments of the application 122, the client interface module 124, and the calculation engine module 126 are described in co-pending U.S. patent application Ser. No. 12/059,070, which was filed on Mar. 31, 2008 and is owned by the assignee in common with the subject application. The disclosure of U.S. patent application Ser. No. 12/059,070 is hereby incorporated by this reference in its entirety.
The data analysis module or processor (i.e. “delta processor”) 128 comprises a computer-implemented process(es) or function(s) that runs on the server 120 and provides a mechanism to analyze data in any cell in the cube 142. According to an embodiment, the data analysis module 128 is implemented in the form of a software application or computer program and is stored in memory and executed to provide the functionality as described herein. According to an embodiment, the data analysis module 128 is configured to generate a base vector associated with the selected cell and execute a comparison or “Delta analysis” between the base vector and a comparison vector. According to another aspect, the data processor module 128 is configured to allow a user to change one or more values (i.e. data) in the base vector and execute the Delta analysis and store the resulting modified base vector in the cube. The operation and configuration of the data processor module 128 according to embodiments of the invention is described in more detail below with reference to the user interface and screen shots depicted in
According to an embodiment, the data analysis module 128 is configured with a graphical user interface or GUI comprising a data analysis screen or window as shown in
According to an embodiment, the data analysis screen 200 is accessed or displayed in response to a data object or cell being “clicked” (e.g. a “right-click” using a mouse or other input device). For example,
Reference is also made to
Reference is made back to
As shown in
The Base vector panel 230 is configured to show the dimensions for the vector associated with the selected data cell. The exemplary base vector depicted in
Referring back to
According to an embodiment, the comparison vector 240 is populated with data according to the Version dimension 246. For the example, as depicted in
According to an embodiment, the data analysis processor 128 is configured to extend any changes in the dimensions of the base vector 230 to the comparison vector 240 when the active data object for the corresponding dimension in the comparison vector 230 is set to “Same as Base” as described above and indicated for the Measures dimension 242 and the Organization dimension 244 in
The base vector 230 includes a time dimension and according to an embodiment, the Time Scope panel 250 is configured for setting the time frame for the base vector 230 and the comparison vector 240. According to an embodiment, the time scope panel 250 includes a Base Start Period setting control 251 and an Base End Period setting control 252. According to an embodiment, the Start Period setting control 251 comprises an active text field or object 253, a go back button 254a and a go forward button 254b. Similarly, the End Period setting control 252 comprises an active text field or object 255, a go back button 256a and a go forward button 256b. The active text fields 253, 255 are configured to be responsive to a mouse click or other input device and display a list of start/end periods (e.g. months), for example, in the form of a Time Dimension select dialog box 1600 as depicted in
According to an embodiment, the data analysis processor 128 is configured with one or more functions or software components configured to determine an initial time scope as follows:
-
- if there is only one level in the time dimension, then the time scope is all time members and the periodicity is that of the single level;
- otherwise, if the number of leaf descendants of the selected member is 13 or less, then the time scope is from the first leaf descendant to the last leaf descendant of the selected member and the periodicity is the same as that of the leaf members of the selected member;
- otherwise, if the selected member is a leaf member and the number of leaf members of the year containing the selected member is 13 or less, then the time scope is the entire year containing the selected member and the periodicity is the same as that of the selected member;
- otherwise, if the selected member is a leaf member, then the time scope is the parent of the selected member and the periodicity is the same as the selected member;
- otherwise, the time scope is that of the selected member and the periodicity is the same as the children of the selected member.
Referring again to
The base row 272 corresponds to the base vector 230 and comprises columns or data cells, i.e. data values, 273 indicated individually by references 273a, 273b, 273c, 273d, . . . , which comprise a data value in a cell in the cube corresponding to the dimensions and members selected for the base vector in the base vector panel 230. The columns of the data cells 273 are configured according to the time base (i.e. time scope and/or periodicity parameters) defined in the time scope panel 250 as described in more detail below. As shown, the base row 272 also includes a “Total” column indicated by reference 275. The total column 275 comprises the total value, i.e. summed value, of the values in the data columns 273 and would also include any data columns not visible in the window 270 (i.e. accessible using a scroll bar 271). According to an embodiment, the data cells or columns 273, 275 may be altered as described in more detail below.
The delta row 274 comprises columns or data cells 277, indicated individually by references 277a, 277b, 277c, 277d, . . . , and a “Total” column indicated by reference 279. The delta row 274 corresponds to the base vector 240 and will have the same dimensions as the base vector 230. The data cells 277 and the total column 279 in the delta row 274 are editable by the user and will contain data values selected or configured for performing or executing “delta analysis” operation as described in more detail below.
The delta % row or vector 276 comprises columns or data cells 281, indicated individually by references 281a, 281b, 281c, 281d. As shown in
The comparison row 278 corresponds to the comparison vector 240 and comprises columns or data cells 285, indicated individually by references 285a, 285b, 285c, 285d, . . . . As shown, the comparison row 278 includes a “Total” column indicated by reference 287. The comparison row 278 has the same dimensions and time scope as the base row 272 (i.e. the base vector 230). According to an embodiment, the data analysis processor 128 is configured to apply a delta analysis comprising the difference between the respective columns in the base row 272 and the comparison row 278, and the resulting data values are shown in the respective columns 277, 279 of the delta row 274. According to an embodiment, the columns or data cells 277 of the delta row 274 are editable or modifiable, and the data analysis processor 128 is configured to calculate the change(s) in the base row 272 resulting from a change in one or more of the columns 277 of the delta row 274. According to another aspect, the data analysis processor 128 is configured with a function or software process to “spread” data entered in the Total column 279 across the data cells 277 of the delta row 274, as described in more detail below. According to another embodiment, the columns or data cells 273 and 275 of the base row 272 are editable or modifiable, and the data analysis processor 128 is configured to calculate the change(s) in the delta row 274 resulting from a change in one or more of the columns 273, 275 of the base row 272. According to another embodiment, the application 122 (
According to an embodiment, the data analysis processor 128 is configured with one or more functions or software components to perform the following calculations and operations;
-
- (1) Delta row (274)=Base row (272)−Comparison row (278) Delta % row (276)=Delta row (274)/Comparison row (278)
- (2) Order of calculations when the display window 270 is refreshed with data, i.e. populated with data from the cube:
- Total Base (275)=sum/average/last/first of other data cells in the base row; if the time conversion method for the account is ‘formula’, the total is set to be blank
- Total Comparison (287)=sum/average/last/first of the other data cells in the comparison row; of the time conversion method for the account is ‘formula’, the total is set to be blank
- for all data cells (including total), Delta=Base−Comparison
- for all data cells (including total), Delta % Delta/Comparison
- (3) Order of calculation when data is entered (i.e. by the user):
- (a) for non-total data cells, the calculations are configured as follows:
- if Base is Entered,
- Delta=Base=Comparison
- Delta %=Delta/Comparison
- if Delta values are entered,
- Base=Delta+Comparison
- Delta %=Delta/Comparison
- if Delta % values are entered,
- Delta=Delta %*Comparison
- Base=Delta+Comparison
- Total Base=sum/average/last/first of other data cells in Base
- Total Delta=Total Base−Total Comparison
- Total Delta %=Total Delta/Total Comparison
- (b) for “total” data cells, the calculations are configured as follows:
- if Total Base is entered:
- spread Base total (if account has time conversion method of sum; copy for all other time conversion methods) to all other Base cells except those that are not available for data entry or locked for altered cells (including total), Delta=Base−Comparison
- for all altered cells (including total), Delta %=Delta/Comparison
- if Total Delta is entered:
- Total Base=Total Delta+Total Comparison
- spread Base total (if account has time conversion method of sum; copy for all other time conversion methods) to all other Base cells except those that are not available for data entry or locked for altered cells (excluding total), Delta=Base−Comparison
- for altered cells (including total), Delta %=Delta/Comparison
- if Total Delta % is entered:
- Total Delta Delta %*Comparison
- Total Base=Delta+Comparison
- spread (if account has time conversion method of sum; copy for all other time conversion methods) Base total to all other Base cells except those that are not available for data entry or locked
- for altered cells (excluding total), Delta=Base−Comparison
- for altered cells (excluding total), Delta %=Delta/Comparison
The particular implementation and coding details for the operation of the data analysis processor 128 as described above will be within the understanding of one skilled in the art.
The data display window 270 configured with a chart display is shown in
Reference is next made to
Reference is next made to
Referring still to
Reference is next made to
Reference is next made to
Referring to
Reference is next made to
-
- (1) if data is entered at a non-Total level in the base row, the delta row or the delta % row; and
- (2) if the time period for which the data is entered is not a leaf member
According to an embodiment, the dimension spread options are selected using a radio button and comprise: “Spread Evenly” 1142, “Spread based on existing data for the current member combination” 1144, a “Spread based on values in member property” 1146, or “Spread based on data in” 1148. The selection for “Spread based on values in member property:” 1146 includes a drop-down list box 1147 for selecting a property associated with the member property, for example, “Start Date”, or for example, “Target Billing Hours per Month”. The selection for the “Spread based on data in” 1148 includes a drop-down list box for each dimension for selecting one of the members associated with the dimension. As shown, the dialog box 1140 is configured with a drop-down list box 1150 for the “Accounts” dimension, a drop-down list box 1152 for the “Versions” dimension, a drop-down list box 1154 for the “Time periods starting with” dimension, and a drop-down list box 1156 for the “Organization” dimension. As shown, the dialog box 1140 also includes the checkbox 1112 for enabling/disabling the dialog box prompting.
Reference is next made to
Reference is next made to
Reference is next made to
Reference is next made to Table 1 which summarizes the five types of adjustment operations according to an embodiment.
According to an embodiment, the data analysis processor 128 is configured to allow non-contiguous cells to be selecting using the mouse in conjunction with the Ctrl button.
For the “Adjust by Amount” function 1411 (
%New=((1+%Old)̂(1/N))−1
where;
-
- N is the number of periods currently being displayed that are in a year; and
- A is the exponentiation operator.
For example, if the periodicity is in Quarters and the value entered is 46.41%, then the adjusted value is calculated as 10% (i.e. (1.1)̂4=1.4641).
Reference is next made to Table 2, which further illustrates operation of the adjust mechanism for four exemplary data cells (e.g. data cells 273d, 273e, 273f, 273g) according to an embodiment of the invention.
For the “Inflate By %” operation 1414, a function or software process is configured in the data analysis processor 128 to operate as follows:
-
- the first data cell (i.e. 273d) retains the original value;
- the second data cell (i.e. 273e) is calculated to be the value in the cell to its left (i.e. the first cell) multiplied by (1+Adjusted Parameter Value);
- this operation is repeated until the rightmost cell has been calculated
For the “Discount By %” operation 1416, a function or software process is configured in the data analysis processor 128 to operate as follows;
-
- the first data cell (i.e. 273d) retains the original value;
- the second data cell (i.e. 273e) is calculated to be the value in the cell to its left (i.e. the first cell 273d) divided by (1+Adjusted Parameter Value)
- the function repeats this operation until the rightmost data cell (i.e. 273g) is calculated.
For the “Interpolate” operation 1418, a function or software process is configured in the data analysis processor 128 to operate as follows:
-
- first an ‘increment’ value or parameter is calculated as:
- (the value in the rightmost data cell (i.e. data cell 273g) minus the value in the leftmost cell (i.e. data cell 273d)) divided by (the number of cells less 1)—this may be negative;
- the first data cell (i.e. 273d) retains its original value;
- the second data cell (i.e. 273e) is calculated as the value in the data cell to its left (i.e. data cell 273d) plus ‘increment’ this operation is repeated until the rightmost data cell (i.e. 273g) has been calculated.
- The functionality and features associated with the data analysis processor or module 128 (
FIG. 1 ) and/or the server 120 (FIG. 1 ) and/or the client machines 110. (FIG. 1 ) and/or the user interface screens or windows for the data analysis processor or module 128 (FIGS. 2 to 15 ) as described above and in accordance with the embodiments may be implemented in the form of one or more software objects, components, or computer programs or program modules in the server and/or the client machines. Further, at least some or all of the software objects, components or modules can be hard-coded into processing units and/or read only memories or other non-volatile storage media in the mobile communication device, server and/or other components or modules depicted in the drawings. The specific implementation details of the software objects and/or program modules will be within the knowledge and understanding of one skilled in the art.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Certain adaptations and modifications of the invention will be obvious to those skilled in the art. Therefore, the presently discussed embodiments are considered to be illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Claims
1. A system for processing a base vector derived from data in an OLAP database, said system comprising:
- a component configured for defining the base vector, the base vector having a time dimension and one or more other dimensions;
- a component configured for defining a comparison vector and selecting one or more dimensions for said comparison vector wherein said selected one or more dimensions correspond to one or more dimensions of said base vector;
- a data analysis engine, said data analysis being configured to apply one or more analysis operations to said comparison vector and modify the base vector according to said one or more analysis operations; and
- a component for rendering said base vector.
2. The system as claimed in claim 1, further including a component for configuring a time scope for the base vector.
3. The system as claimed in claim 2, wherein said time scope includes a periodicity parameter, and said comparison vector being defined with the same periodicity as the base vector.
4. The system as claimed in claim 2, wherein said analysis operations includes one or more of a delta operation and a delta percentage operation.
5. The system as claimed in claim 4, wherein component for rendering comprises a component configured to display the base vector and said comparison vector in a graphical format, wherein the base vector comprises a plurality of data cells and said comparison vector comprises a plurality of data cells having a periodicity corresponding to the data cells of the base vector.
6. The system as claimed in claim 5, wherein one or more of said plurality of data cells are selectively modifiable.
7. The system as claimed in claim 6, further including a component configured for performing an adjustment operation on values in one or more of said data cells, and said adjustment operation comprising one of an adjust by amount operation, an adjust by percentage operation, an inflate by percentage operation, a discount by percentage operation, and an interpolate operation.
8. The system as claimed in claim 1, wherein said component for configuring and said component for rendering comprise elements in a graphical user interface, and said component for rendering comprises a display window having a grid display mode and a chart display mode.
9. A computer-implemented method for analyzing a base vector comprising data from an OLAP database, said method comprising the steps of:
- configuring the base vector wherein the base vector comprises a time dimension and one or more other dimensions;
- configuring a comparison vector and selecting one or more dimensions for said comparison vector wherein said selected one or more dimensions correspond to one or more dimensions of the base vector;
- applying one or more analysis operations to said comparison vector and modifying the base vector according to said one or more analysis operations; and
- rendering the resulting base vector.
10. The computer-implemented method as claimed in claim 9, further including the step of configuring a time scope for the base vector.
11. The computer-implemented method as claimed in claim 10, wherein said time scope includes a periodicity parameter, and said comparison vector being defined with the same periodicity as the base vector.
12. The computer-implemented method as claimed in claim 9, wherein said analysis operations includes one or more of a delta operation and a delta percentage operation.
13. The computer-implemented method as claimed in claim 12, wherein said step of rendering comprises displaying the base vector and said comparison vector in a graphical format, wherein the base vector comprises a plurality of data cells and said comparison vector comprises a plurality of data cells having a periodicity corresponding to the data cells of the base vector.
14. The computer-implemented method as claimed in claim 13, wherein one or more of said plurality of data cells are selectively modifiable.
15. The computer-implemented method as claimed in claim 14, further including the step of performing an adjustment operation on values in one or more of said data cells, and said adjustment operation comprising one of an adjust by amount operation, an adjust by percentage operation, an inflate by percentage operation, a discount by percentage operation, and an interpolate operation.
16. A computer program product for processing a base vector comprising data from an OLAP database, said computer program product comprising:
- a storage medium configured to store computer readable instructions;
- said computer readable instructions including instructions for,
- defining the base vector wherein the base vector comprises a time dimension and one or more other dimensions;
- defining a comparison vector and selecting one or more dimensions for said comparison vector wherein said selected one or more dimensions correspond to one or more dimensions of the base vector;
- applying one or more analysis operations to said comparison vector and modifying said base vector according to said one or more analysis operations; and rendering the resulting base vector.
17. The computer program product as claimed in claim 16, wherein said instructions for rendering the resulting base vector comprise generating a display window for a graphical user interface and said display window having a grid display mode and a chart display mode.
18. The computer program product as claimed in claim 17, wherein in said grid display mode the base vector and said comparison vector comprise a plurality of data cells and the plurality of data cells for comparison vector have a periodicity corresponding to the data cells of the base vector.
19. The computer program product as claimed in claim 18, wherein one or more of said plurality of data cells are responsive to an input device and are selectively modifiable.
20. The computer program product as claimed in claim 19, further including executable instructions for performing an adjustment operation on values in one or more of said data cells, and said adjustment operation comprising one of an adjust by amount operation, an adjust by percentage operation, an inflate by percentage operation, a discount by percentage operation, and an interpolate operation.
Type: Application
Filed: Mar 17, 2014
Publication Date: Jul 17, 2014
Inventor: Paul Grant Barber (Mississauga)
Application Number: 14/215,449
International Classification: G06F 17/30 (20060101); G06F 3/0484 (20060101);