WO2007072051A2 - Systeme de suivi de donnees - Google Patents
Systeme de suivi de donnees Download PDFInfo
- Publication number
- WO2007072051A2 WO2007072051A2 PCT/GB2006/004910 GB2006004910W WO2007072051A2 WO 2007072051 A2 WO2007072051 A2 WO 2007072051A2 GB 2006004910 W GB2006004910 W GB 2006004910W WO 2007072051 A2 WO2007072051 A2 WO 2007072051A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- document
- objects
- changes
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
Definitions
- the present invention relates to a computer, a database, a carrier medium, a signal, and a method of tracking changes to document data.
- the present invention relates to software applications for a computer that allow a user to create documents and to modify document objects with the documents.
- a spreadsheet for example (such as Microsoft(RTM) Excel(RTM)
- the user can manipulate document objects such as cells and worksheets, containing the cells.
- Other document objects such as workbooks, charts, points, ranges and so on exist within a defined hierarchy of document objects.
- Each of the document objects can be associated with other document objects in various ways, and some of the documents can have data values associated with them.
- the user can enter data values such as constants or formulae (expressions) into cells (document objects) of the spreadsheet.
- a cell document object may have a 'child' association with a worksheet object (because the worksheet 'contains' or 'owns' the cell), a 'dependent' association with a range of cells ('A1:A4' in this case), and possibly also one or more 'precedent' associations with cells that in turn refer to the cell in question.
- Equivalent data structures can be defined in other applications, such as word processing and graphical design applications, for example.
- Documents such as spreadsheets are often used to record sensitive and/or important data, for example relating to financial transactions. It is therefore often desirable to maintain a history (or 'audit trail') of changes to a document.
- Microsoft(RTM) Excel(RTM) incorporates a 'track changes' feature that can provide a history/audit trail of changes to a spreadsheet.
- the track changes feature is described, for example, in the Microsoft(RTM) Excel(RTM) Help documentation, the contents of which are herein incorporated by reference.
- the 'track changes' feature is enabled, any time that a cell is modified an entry is made in an audit log that identifies the modified cell, the new (modified) contents, and the user who made the relevant change.
- the audit log so generated can then be used to trace the source of errors and any other irregularities that may arise.
- the feature essentially tracks changes to only limited types of document objects (for example, the spreadsheet cell), and has to prevent modifications to other document object types (such as charts and pivot tables) in order to provide a meaningful audit history. More importantly, whenever the contents of a cell is cut and pasted to another cell, for example, portions of the audit log may be overwritten and ambiguities may arise.
- the present invention takes into account drawbacks in this and other prior art.
- a method of tracking changes to document data the document data including a plurality of document objects and a plurality of data values
- the method comprising: generating a set of data objects corresponding to respective data values and respective document objects; receiving an input indicating that at least one document object has been modified; selecting data objects corresponding to at least one modified document object and a number (which may be zero) of modified data values; and modifying the selected data objects in accordance with the modifications to the corresponding data values or document objects.
- the document objects may be spreadsheet objects such as cells, ranges, names, pivot tables, charts, chart series, rows, columns, worksheets, and so on, or they may be other objects such as blocks of text in word processing documents, or diagrams and pictures in graphical documents, for example.
- the data values associated with the document objects may be numbers, text, Boolean values, formulae and so on (in the case of a spreadsheet).
- the data objects may be records in a database (such as a document worksheet, relational database, simple table, and so on), which may comprise a plurality of fields, and which may be stored on a storage medium.
- the input may be an event generated by an application, such as an event sent to an add-in application, and may (or may not) contain a reference to the modified document object(s). It will be appreciated that the method can be adapted in cases where less than a plurality either of document objects or of data values are envisaged, and similarly elsewhere in this specification references to pluralities can, where appropriate, be replaced by reference to single or zero numbers of items
- an audit trail can be generated that tracks changes to the underlying data values in addition to (or instead of) tracking changes to the document objects.
- the method may allow audit data to be saved (in a text or data file, for example), and the normal 'undo' function of the document application may be overridden to allow the undo function to be performed using this audit data (accordingly the undo function may be used without limitation, allowing every change to be undone).
- a further undo mode may be provided (a 'non-linear' undo), allowing the user to select certain document object(s) and/or data value(s) in a document, and to undo all or (at the user's selection, for example) part of the changes relating to those document object(s) and/or data value(s), irrespective of the order in which the relevant changes were made.
- the audit data may be used to ensure that relationships are respected by the undo operation (and, if appropriate, corresponding changes are made outside the selected region in order to ensure consistency).
- the method may also allow analysis of the audit data, and the tracking of which user made what changes, when and how.
- the method can also track and record changes in relationships between document objects and data within the document objects.
- the method can track hierarchical ('parent-child') relationships, 'precedence-dependence' relationships and 'association' relationships between data values. This can allow a more complete audit record to be provided, and can again provide an improved user interface for audit operations.
- the invention provides a method of tracking changes to document data, the document data including a plurality of document objects, and the method comprising: receiving an input indicating that at least one of the document objects has been modified; and recording any changes to relationships between data values arising as a result of the modification of the document objects.
- the method may be embodied in at least one software component which may be executed as an 'add-in' program or script.
- the method may be provided by a 'COM add-in' to Microsoft(RTM) Excel(RTM).
- the method may be incorporated as an integral feature of such an application.
- the invention also provides a validation function, for example in the form of a method comprising determining whether a modification to a document object or data value complies with predetermined criteria and outputting data representing the result of the determination.
- Changes to the values and relationships of a wide variety of document objects and data values may be validated, rather than merely validating a cell's content, for example.
- Audit and other data relating to document objects and data values may be processed, for example using appropriate heuristics, automatically to determine new validation criteria.
- the user can override the validation and supply new validation criteria at that point if required.
- the validation may occur in parallel to 'built-in' validation routines, allowing more control of many components of a document without overwriting pre-existing validation within a document (although the 'in-built' validation, where it exists, may be overwritten by the parallel validation criteria if and when appropriate).
- a method of tracking changes to a spreadsheet containing a plurality of document objects comprising: monitoring changes to the document objects; and recording changes to data values associated with the document objects, whereby a history of each data value can be determined from the recorded changes, irrespective of any changes to the association of data values with the document objects.
- a method of tracking changes to a document containing a plurality of document objects, the plurality of document objects being associated with a respective plurality of data values comprising: recording changes to associations between the document objects; and recording changes to associations between the data values.
- the present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software.
- the present invention is particularly suited to implementation as computer software implemented by a workstation or laptop computer.
- Aspects of the present invention encompass computer software implementable on a programmable device.
- the computer software can be provided to the programmable device using any conventional carrier medium.
- the carrier medium can comprise a transient carrier medium such as an electrical, optical, microwave, acoustic or radio frequency signal carrying the computer code.
- An example of such a transient medium is a TCP/IP signal carrying computer code over an IP network, such as the Internet.
- the carrier medium can also comprise a storage medium for storing processor readable code such as a floppy disk, hard disk, CD ROM, magnetic tape device or solid state memory device.
- Figure 1 is an illustration of expressions and constants contained in a Microsoft(RTM) Excel(RTM) Workbook
- Figure 2 is an illustration of the values of the constants and expressions of the Workbook of Figure 1;
- Figure 3 is an illustration of the expressions and constants of the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 4 is a chart illustrating the parent-child relationships of certain document object types in a Microsoft(RTM) Excel (RTM) spreadsheet;
- Figure 5 is a chart of the hierarchy of objects in the Workbook of Figure 1;
- Figure 6 is an example of an audit trail generated by a comparison of the document objects in the Workbooks of Figure 1 and Figure 3;
- Figure 7 is an example audit trail of the Workbook of Figure 1
- Figure 8 is an example audit trail of the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 9 is a diagram illustrating the precedents and dependents of range objects in the Workbook of Figure 1;
- Figure 10 is a diagram illustrating the precedents and dependents of range objects in the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 11 is an example audit trail of the Workbook of Figure 1 after a worksheet- specific Name "Start" has been defined;
- Figure 12 is an illustration of the values of the constants and expressions of the Workbook of Figure 1 after a worksheet-specific Name "Start" has been defined;
- Figure 13 is an illustration of a parent-child hierarchy of data objects and examples of data objects' associations with document objects in the Workbook of Figure 1;
- Figure 14 is an illustration of a parent-child hierarchy of data objects and examples of data objects' associations with document objects in the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 15 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1;
- Figure 16 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 17 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1 after a worksheet-specific Name "Start" has been defined;
- Figure 18 is a diagram of the database structure used by the auditing system of a preferred embodiment;
- Figure 19 is a snapshot of a table of data objects relating to the Workbook of Figure 1;
- Figure 20 is a snapshot of a table of data objects relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl ;
- Figure 21 is a snapshot of a table of actions relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 22 is a snapshot of a table of effects relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl;
- Figure 23 is a snapshot of a table of actions relating to the Workbook of Figure 1 before the contents of cell Bl are moved to cell Cl;
- Figure 24 is a snapshot of a table of effects relating to the Workbook of Figure 1 before the contents of cell Bl are moved to cell Cl;
- Figure 25 is an illustration of "association" relationships between data objects relating to the Workbook of Figure 1;
- Figure 26 is an illustration of "association" relationships between data objects relating to the Workbook of Figure 1 after the contents of cell B 1 are moved to cell C 1 ;
- Figure 27 is an overview of a method carried out in the preferred embodiment
- Figure 28 is a flowchart of a process for identifying and selecting relevant document changes
- Figure 29 is a flowchart of a process for amending the "Actions" table and for identifying and selecting data objects that are impacted by a document change
- Figure 30 is a flowchart of a process for identifying and selecting changes to data objects impacted by a document change
- Figure 31 is a flowchart of a process for amending the "Objects" and "Effects” tables.
- Figure 32 is a schematic showing the structure of the auditing system's main components.
- a Microsoft(RTM) Excel(RTM) user can enter data items, including inputs to calculations and calculations' parameters, via "constants” and "expressions". "Values resulting from expressions” represent further data items that include outputs of calculations.
- constants, expressions and values resulting from expressions are referred in their entirety as "data values”.
- a spreadsheet's structure is defined by its document objects and their relationships with one another, including both parent-child relationships and precedence-dependence relationships.
- Microsoft(RTM) Excel(RTM) Workbooks' document objects, and collections thereof, are defined by the Microsoft(RTM) Excel(RTM) Object Model. Constants and expressions can be contained in a variety of Microsoft(RTM) Excel(RTM) document objects that include, for example: Range objects and Name objects.
- the structure of the Microsoft(RTM) Excel(RTM) Object Model is described, for example, in the Microsoft(RTM) Excel(RTM) Help documentation, the content of which is herein incorporated by reference.
- the present auditing system records changes to Microsoft(RTM) Excel(RTM) document objects.
- the auditing system further records changes to data values and explicitly records detail of changes to data values' precedence-dependence relationships, as distinct from the detail of expressions and any changes thereto, for example.
- Figure 1 is an illustration of the expressions and constants contained in a Microsoft ⁇ RTM) Excel(RTM) Workbook.
- Workbook “Bookl” contains the Name “Start”, which has been defined as being equal to 1.
- Worksheet “Sheetl” of Workbook “Bookl” contains cells Al, Bl 5 Cl, Dl, El, A2 and B2.
- Cells Cl and Dl contain constants 5, 6 with values of 3 and 4 respectively.
- Figure 2 is an illustration of the values of the constants and expressions of the Workbook of Figure 1.
- values 3 5 4, 7, 8, 9 resulting from the expressions in cells Al 5 Bl, El 5 A2 and B2 are, respectively: I 5 3, 11, 4 and 3.
- FIG 3 is an illustration of the expressions and constants of the Workbook of Figure 1 after one of the cells has been moved.
- Figure 4 is a chart illustrating the parent-child relationships of certain document object types in a Microsoft(RTM) Excel (RTM) spreadsheet.
- parent-child relationships between a Workbook's document objects are defined by the respective document objects' "Parent" properties.
- a Worksheet 20 object's Parent property returns a Workbook 19 object
- a Chart object's Parent property returns either a ChartObject 21 object (in the case of an embedded chart 22) or a Workbook 19 object (in the case of a chart sheet 25)
- a Range 23 object's Parent property returns a Worksheet 20 object
- a Name object's Parent property returns either a Worksheet 20 object (in the case of a worksheet-specific name 24) or a Workbook 19 object; and so on.
- Figure 5 is a chart of the hierarchy of objects in the Workbook of Figure 1.
- the initial hierarchy of document objects includes: Worksheet "Sheetl” 27, Range “Al” 28, Range “Bl” 29, Range “Cl” 30, Range “Dl” 31, Range “El” 32, Range “A2" 35, Range “B2” 36, ChartObject “Chartl” 39, Chart “Sheetl Chartl” 40, (unnamed) ChartGroup 41, Series “Seriesl” 42, (unnamed) Points 43-46 and Name "Start” 47.
- Workbook “Bookl” 26 is the parent of both Worksheet “Sheetl” 27 and Name "Start” 47.
- ChartObject "Chartl” 39 is the parent of ChartObject "Chartl” 39 and all Range objects ("Al” 28, “Bl” 29, “Cl” 30, “Dl” 31, "El” 32, "Fl” 33 - "IVl” 34, "A2" 35, “B2” 36 and “C2” 37 - “IV65536” 38).
- ChartObject "Chartl” 39 is the parent of Chart "Sheetl Chartl” 40 which is, in turn, the parent of the (unnamed) ChartGroup object 41.
- the (unnamed) ChartGroup object 41 is the parent of Series “Seriesl” 42 which is, in turn, the parent of all (unnamed) Point objects 43-46.
- Figure 6 is an example of an audit trail generated by a comparison of the document objects in the Workbooks of Figure 1 and Figure 3.
- Such an audit trail delivers a continuous history of changes for each of a spreadsheet's document objects.
- a history of changes for Range “Bl” is provided in the audit trail's records 48, 50 corresponding to Action Numbers 3 and 10 and a history of changes for Range “Cl” is provided in the audit trail's records 49, 51 corresponding to Action Numbers 4 and 11.
- it does not deliver a continuous history of changes for each of a spreadsheet's data values.
- a method of auditing changes to a spreadsheet is to track the changes not in real-time but for example by comparing successive file versions of the spreadsheet (for example by carrying out a daily scan of spreadsheet files to identify changes with reference to corresponding file versions backed up on the previous day).
- This method is limited to either similarly tracking changes to document objects or, due to the transient nature of associations between document objects and data values, to uncertain interpretation of changes made to spreadsheets' data values. In either event, the resulting audit trails may not be readily readable and may find limited applications.
- Another approach is instead to prohibit such changes - for example, limiting changes to static document objects - or to record changes in terms of the essence of the change to the spreadsheets' document objects, such as "moved Range Bl to Range Cl".
- the former benefits from continuity of associations between a spreadsheet's document objects and its data values, and consequently produces more practicable audit trails. However, it can restrict the flexibility of a spreadsheets.
- Figure 7 is an example audit trail of the Workbook of Figure 1 , shown before the contents of cell Bl is moved to cell Cl.
- Figure 8 is the example audit trail of the Workbook as shown in Figure 3, shown after the contents of cell Bl are moved to cell Cl.
- the "Range” reference in action number 3 has changed to "Cl” from “Bl” 169. Accordingly, the change history in Figure 8 effectively presents changes to data values.
- further issues arise relating not only to the transience of associations between document objects and data values but also to precedence-dependence relationships between spreadsheets' document objects and data values contained therein.
- a spreadsheet's structure is defined not only by its document objects' parent-child relationships but also by its document objects' precedence-dependence relationships.
- Range objects' precedence-dependence relationships are defined by their "DirectPrecedents" and "DirectDependents” properties.
- a Range object's DirectPrecedents property returns a Range object that represents direct precedents of the Range object i.e. other Range objects that are referred in the Range object's formula.
- the DirectDependents property returns a Range object that represents direct dependents of the Range object i.e. other Range objects whose formulae refer to the Range object.
- Figure 9 is a diagram illustrating the precedents and dependents of range objects in the Workbook of Figure 1, before the change is made to the Workbook.
- the DirectPrecedents property of Range “Bl” 29 returns Range “Al” 28, since the expression in cell Bl refers to cell Al.
- the DirectDependents property of Range “Al” 28 returns Range “B1,E1,A2", representing Ranges “Bl” 29, “El” 32 and “A2" 35, because the expressions in cells Bl, El and A2 all refer to cell Al.
- Range "Bl” 29 returns Range "E1,A2:B2", representing Ranges “El” 32, “A2” 35 and “B2" 36, because the expressions in cells El, A2 and B2 all refer to cell Bl.
- Figure 10 is a diagram illustrating the precedents and dependents of range objects in the Workbook of Figure 3, after the change is made to the Workbook.
- Range “Cl” 30 has moved to the location previously occupied by Range “Bl”, reflecting the movement of cell Bl to cell Cl.
- the DirectPrecedents property of Range “Cl” 30 returns Range “Al” 28 and the DirectDependents property of Range “Cl” 30 returns Range "E1,A2:B2".
- Range “Cl” 30 has assumed the precedence-dependence relationships with Ranges “Al” 28, “A2” 35 and “B2" 36 that formerly had precedence-dependence relationships with Range “Bl”, whilst maintaining its precedence-dependence relationship with Range “El”.
- Range “Cl” 30 not only contains the expression that was formerly in Range “Bl” 29 but has also assumed the corresponding precedence-dependence relationship with Range “Al” 28.
- Range "B2" 36 is no longer dependent on Range “Bl” 29 but is now dependent on Range “Cl” 30.
- Such retrospective modification of audit trail data overwrites data pertaining to prior data values, including the precedence-dependence data implicit therein, and consequently the resulting audit trail does not detail changes in precedence-dependence relationships.
- a change to a document object can constitute a change to data values or precedent-dependent relationships or both.
- Range "B2” "dragging and dropping” or “cutting and pasting" cell Bl to cell Cl constitutes a change to both its precedence-dependence relationships and the data value in cell B2. This is true not only of moving document objects but also of changes to data values contained in document objects.
- action number 10 refers to only Ranges "Bl” and "Cl”; it omits to record that the movement of cell Bl to cell Cl relates also to changes to other document objects' data values and/or precedence-dependence relationships and, further, it is unclear which other document objects' data values and/or precedence-dependence 04910
- the details of changes to data values and precedence-dependence relationships, which can provide greater insight to the effects of changes and thus finds more extensive applications, is excluded as a result of retrospective changes to the change history as described above.
- Figure 11 is an example audit trail of the Workbook of Figure 1 after the worksheet-specific Name "Start” has been defined
- Figure 12 is an illustration of the values of the constants and expressions of the Workbook of Figure 1 after the worksheet-specific Name "Start” has been defined.
- data objects are defined so as to broadly coincide with data values, as defined earlier, including constants and expressions.
- the uses of the data objects include:
- the parent-child hierarchy of document objects in a Microsoft(RTM) Excel(RTM) Workbook may include document objects that, whilst they are capable of containing data values, currently contain no data values (for example, in the case of Range objects, they are blank) and, further, have no precedence-dependence relationships with other document objects (they are not referred in any expression). Such document objects are not associated with data objects.
- Worksheet "Sheetl” of Workbook “Bookl” contains single-cell Ranges “Fl” 33, ..., IVl 34, "C2" 37, ..., "IV65536” 38 that do not contain data values and are not referred in any expressions.
- Range objects that similarly contain no data values and include, for example, Ranges "F1:G1", “C2:IV2", “A3:IV65536”.
- the Microsoft(RTM) Excel(RTM) Object Model terminates with the document object.
- the "constant", with value 2 corresponds to a data object that is distinct from the data object(s) corresponding to the expression and its resulting value.
- a Chart object 22 can be associated with a (constant) data value e.g. the chart's title as returned by the "Text” property of the ChartTitle object that is, in turn, returned by the Chart object's "ChartTitle” property.
- Figure 13 is an illustration of a parent-child hierarchy of data objects and examples of data objects' associations with document objects in accordance with the preferred embodiment.
- Figure 13 illustrates the state of the data objects and document objects prior to the "dragging and dropping” or “cutting and pasting" cell Bl to cell Cl in the Workbook of Figure 1.
- the auditing system contains 19 data objects, numbered 1-19, in relation to the Workbook "Bookl” of Figure 1. Titles are represented by data objects I 9 2, 14 and 15, which correspond to (text) constants “Bookl”, “Sheetl”, “My Chart” and “Seriesl” respectively. Data objects 16, 17, 18 and 19 correspond to constants that represent years 1999-2002. Data objects 3, 6, 7 and 8 represent inputs to Workbook “Bookl” and correspond to constants with respective numerical values of 1, 2, 3 and 4. Thus each constant in Workbook "Bookl” corresponds to an individual data object in the auditing system. Data objects 4, 5, 9, 11 and 13 correspond to expressions and the values resulting from the same expressions.
- Data object 1 is the parent data object of data objects 2 and 3.
- Data object 2 is the parent data object of data objects 4, 5, 7, 8, 9, 10, 11, 12, 13 and 14.
- data object 5 is the parent data object of data object 6.
- Data object 14 is the parent data object of data object 15 which, in turn, is the parent data object of data objects 16, 17, 18 and 19.
- Data objects can be considered to be a "step" removed from a Workbook's document objects.
- the associations of data objects with document objects are broadly coincident with the associations between related data values and document objects.
- data objects 1, 2, 14 and 15 are respectively associated with Workbook “Bookl” 26, Worksheet “Sheetl” 27, Chart “Sheetl Chartl” 40 and Series “Seriesl” 42 respectively;
- data object 3 is associated with Name “Start”;
- FIG. 14 is an illustration of a parent-child hierarchy of data objects and examples of data objects' associations with document objects in the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl .
- New data object 20 is associated with Range “Bl” 29 and corresponds to the new (null) data value therein.
- Range objects' DirectPrecedents and DirectDependents properties do not serve to define precedence-dependence relationships with other (non-Range) document objects that can contain data values.
- Such document objects include, for example, Names.
- Name objects do not have DirectPrecedents or DirectDependents properties. (Also, in the event that a Range object refers to cells on more than one Worksheet object, its DirectPrecedents property will return a Range object representing only a subset thereof i.e. cells referred on the "active" Worksheet object, since the property can not trace "remote” references.)
- Figure 15 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1.
- precedence-dependence relationships between the auditing system's data objects reflect precedence-dependence relationships between all data values including, but not restricted to, data values contained in Range objects.
- data object 3 which corresponds to the constant, with value 1, that is contained in Name "Start”
- data object 15, which corresponds to Series "Series 1 is dependent upon data objects 4, 5, 7 and 8, which correspond to data values contained in Ranges "Al", “Bl”, “Cl” and “Dl” respectively, and is also dependent upon data objects 16-19, which correspond to data values representing the years 1999— 2002.
- Figure 16 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl.
- Figure 17 is a diagram illustrating the precedents and dependents of the auditing system's data objects corresponding to document objects in the Workbook of Figure 1 after a worksheet-specific Name "Start" has been defined.
- new data object 20 which corresponds to the constant (with value 10) that is contained in worksheet-specific Name "Start”.
- the auditing system that refers changes to data objects and their interrelationships can detail not only the creation of data object 20 but also that of its precedence-dependence relationship with data object 4, in place of the former precedence-dependence relationship between data objects 3 and 4.
- Figure 18 is a diagram of the database structure used by the auditing system of the preferred embodiment.
- Audit data is stored in a relational database containing three tables entitled: (Data) Objects 84, Actions 85 and Effects 86.
- the Objects table 84 details all data objects which, as described above, broadly correspond to data values 83 and may be associated with document objects 82. Each data object corresponds to a single record in the Objects table.
- the Objects table stores detail of associations between data objects and document objects, together with detail of parent-child and precedence-dependence relationships between data objects.
- the Objects, Actions and Effects tables might be stored in Worksheet objects.
- Figure 19 is a snapshot of a table of objects relating to the Workbook of Figure 1.
- Each populated row of Figure 19 corresponds to a record in the Objects table and relates to a distinct data object. For example: "Row 1" 95 relates to data object 1, "Row 2" 96 relates to data object 2, and so on.
- Each populated column of Figure 19 corresponds to a field in the Objects table, where:
- Column A 87 contains a reference to each data object's parent data object and serves to define the data objects' parent-child hierarchy. For example, referring to cell A2 97, data object 1 is the parent of data object 2;
- Column B and “Column C” 89 define each data object's associated document object where applicable, as described below;
- Cold D 90 contains references to each data object's precedent data objects, where applicable, and thereby serves to define data objects' precedence-dependence relationships. For example, referring to cell D4 100, data object 4 is dependent upon data object 3; and
- Column F denotes whether a data object is "live” (TRUE) or “dead” (FALSE).
- Column B 88 identifies the type of associated document object where, for example: 1 denotes a Workbook object, 2 denotes a Worksheet object and 3 denotes a (single-cell) Range object.
- "Column C” 89 variously contains the contents of the associated document object's Name property (in the case of, for example, a Worksheet object), Address property (in the case of a Range object) or other relevant property.
- the content of "Column C" 89 enables identification of the associated document object. For example, referring to cells B5 103 and C5 104, data object 5 is associated with Range “Bl" in, referring to cells A5 102, B2 98 and C2 99, Worksheet "Sheetl".
- Figure 20 is a snapshot of a table of objects relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl.
- the Actions table 85 includes a record in respect of each relevant document change. It includes a record, or "action”, in respect of each document change that resulted in one or more changes to the auditing system's data pertaining to at least one data object, as described below. Two fields therein contain a date and time corresponding to the document change.
- Figure 21 is a snapshot of a table of actions relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl.
- the Effects table 86 includes relational references to the Objects and Actions tables. Each record therein relates to precisely one record in the Objects table and to precisely one record in the Actions table. Thus each record, or "effect”, relates to at least one change to a single object at a specified date and time.
- Figure 22 is a snapshot of a table of effects relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl.
- “Column A” 116 contains a reference to a record in the Actions table, i.e. an action, for each record in the Effects table.
- “Column B” 117 contains a reference to a record in the Objects table, i.e. a data object, for each record in the Effects table.
- "Row 3" corresponds to effect 3 which, referring to cell A3 123, relates to action 2 and, referring to cell B3 124, data object 3.
- effects might relate to changes to, for example: the data object's parent data object, its association with a document object, its corresponding data value and its precedence-dependence relationships with other data objects.
- An effect might also, or instead, detail "indirect” changes to a data object that include, for example, changes to a data object that resulted from the application making changes to its corresponding data value (in response to a document change that was made by the application's user).
- a data object that resulted from the application making changes to its corresponding data value (in response to a document change that was made by the application's user).
- 3 denotes (direct) change of a data object's associated document object (in the case of, for example, a Range object) or change to, say, the Name property of a data object's associated document object;
- 0 denotes (indirect) deletion of a data object.
- the content of such a field for a given record in the Effects table might be defined by rules that refer the type of change made to the data object and, as appropriate, the type of document object associated with the specified data object. For each type of change detailed in an effect, at least one subsequent field in the effect's record might, where applicable, contain corresponding data.
- the number 1 in cell C3 125 denotes creation of data object 3 which, referring to cell D3 126, is associated with a Name object (as denoted by the number 7); the number 2 in cell C3 125, together with the number 1 in cell E3 127, denotes that data object 1 is the initial parent data object of data object 3 (data object 1 is associated with Workbook "Bookl"); the number 3 in cell C3 125 denotes that the document object initially associated with data object 3 is named, referring to cell F3 128 "Start"; and the number 4 in cell C4 129 denotes that the initial data value corresponding to data object 3 is, referring to cell D4 130, the expression
- action 12 and corresponding effects 40-49 exclusively relate to data values that have changed constant/expression, relationships and/or associated document object.
- direct changes include the association of data object 5 with Range "Cl” per effect 41 and indirect changes include the deletion of data object 7 per effect 40 and the creation of data object 20 which is associated with Range “Bl” per effect 43.
- corresponding effects 50-51 relate to the user "saving" the Workbook.
- Figure 23 is a snapshot of a table of actions relating to the Workbook of Figure 1 before the contents of cell Bl are moved to cell Cl
- Figure 24 is a snapshot of a table of effects relating to the Workbook of Figure 1 before the contents of cell Bl are moved to cell Cl.
- Figure 25 is an illustration of "association" relationships between data objects relating to the Workbook of Figure 1.
- association relationships might include association relationships between such data objects (where the data objects correspond to data values contained in Range objects) and data objects associated with other document objects that include, for example, a Name object that similarly commonly refers the same Range objects.
- Association relationships might also relate to data values that, whilst not commonly referred by a range reference in a formula, were created in a manner that implies association relationships.
- data objects, corresponding to data values contained in Range objects might share association relationships in the event that they are created by extending a series e.g. by selecting cells and dragging the "fill handle” or by using the Microsoft(RTM) Excel(RTM) Series command.
- association relationships may be independent of any Range references contained in expressions.
- Figure 26 is an illustration of "association" relationships between data objects relating to the Workbook of Figure 1 after the contents of cell Bl are moved to cell Cl.
- association relationships for data object 10, which is associated with Range “A1:D1" have changed (to exclude data object 7 and include data object 20 80) and accordingly, whilst the expressions contained in Range “El” and Series “Series 1" (which both refer Range “A1:D1") are unchanged as described above, precedents of associated data objects 9 and 15 have changed accordingly; and association relationships for data object 12, which is associated with Range “A1:C1" after the change, have changed (to include data object 20) and hence, referring to Figure 20, precedents of data object 11 (corresponding to the expression in Range “A2” which refers Range “A1:C1”) have changed accordingly.
- FIG. 27 is an overview of the processes carried out in the preferred embodiment.
- the auditing system realises the audit trails described above by repeatedly executing a process that can be considered in terms of the following sequence of steps:
- step 145 the application's user performs an action relating to the document, whether a change to the document or simply navigating the document or employing other functionality available in the application such as "saving" a Microsoft(RTM) Excel(RTM) Workbook;
- step 146 the system identifies all actions by the user that relate to document changes that have not previously been processed by the system, whether the changes coincided or preceded the action referred above;
- step 147 for each relevant action so identified, the system creates a record in the Actions table and records a corresponding date and time therein; •
- step 148 similarly, for each relevant action, the system identifies all document objects that changed as a result of the action;
- step 149 for each relevant action, with reference to corresponding document changes, the system identifies all data objects that require related amendments.
- step 150 for each data object so identified, the system creates and populates new records in the "Effects" table and, as required, amends the corresponding record(s) in the Objects table.
- Figure 28 is a flowchart of a process for identifying and selecting relevant document changes.
- the audit process might begin with an event 151 that is raised by, for example, the Microsoft(RTM) Excel(RTM) application. Otherwise, the start of the process is broadly coincident with such an event.
- data is variously sourced from, for example: the event, the Microsoft(RTM) Excel(RTM) application, the Microsoft(RTM) Excel(RTM) workbook, the Windows® operating system and the add-in. Data is first analysed to identify any changes to the spreadsheet's document objects, where said changes preceded the event and are not reflected in the audit data 152.
- Such changes might, for example, include those for which the Microsoft(RTM) Excel(RTM) application does not raise an event and those made without the auditing system in operation.
- a process described below is performed 153. Data is then analysed with specific regard to any changes, to the spreadsheet's document objects, that relate to the event 154. If a document change is thereby identified, the process described below is performed 155.
- Figure 29 is a flowchart of a process for amending the "Actions" table and for identifying and selecting data objects that are impacted by a document change.
- a new record is created in the audit data's Actions table 156 and its fields are populated as described above.
- the Actions table includes a record for each relevant event raised by the application.
- Data is analysed to identify all data objects that are impacted as a direct result of the document change 157. For each object thus identified, the process described below is performed 158. Data is further analysed to identify all data objects that are impacted as an indirect result of the document change 159. For each object thus identified, the process described below is performed 160.
- Figure 30 is a flowchart of a process for identifying and selecting changes to data objects impacted by a document change.
- Figure 31 is a flowchart of a process for amending the "Objects" and "Effects” tables.
- one or more records are created in the audit data's Effects table and fields therein are populated with data relevant to the change to the data object and/or the change to the data object's relationships with other data objects 162.
- the contents of the record's fields are as described above.
- the change relates to the same object and action as those of the last record in the Effects table
- the data is appended to existing data in the table's last record.
- the change to the object implies a change to the contents of its record in the Objects table
- the Objects table is amended accordingly 163.
- the system parses the formula to identify all data values and relational references therein and, with reference to its data objects and audit trail data, identifies and amends related data objects and creates corresponding entries in the audit trail.
- the system creates additional records in its audit trail that include detail of resulting changes of document objects associated with data objects and thereby preserves continuity in respect of records for data objects.
- the audit trail's corresponding entries include effect 41, which reflects that the document object associated with data object 5 has changed (from Range "Bl") to Range "Cl”.
- the system similarly preserves continuity in respect of records for related document objects.
- the system records changes of document objects associated with all relevant data objects - that is, data objects that correspond to data values contained in Range objects located below the deleted row.
- Figure 32 is a schematic showing the structure of the auditing system's main components.
- components are executed in response to corresponding events raised by the application, which may relate to a document change 164 or may not relate to a document change 165.
- the "SheetChange” event relates to a document change (it occurs when the contents of cells in a worksheet are changed by, for example, the user) whereas the "SheetSelectionChange” event does not relate to a document change (it occurs when the selection changes on a worksheet).
- the component 166 examines the document to identify any preceding document changes that are unrelated to the event (including, for example, changes that did not correspond to an event and are not yet reflected in the system's audit trail), which may result in the execution of one or more components 167 that make corresponding changes to the system's audit trail data.
- the system identifies a new Name object and a component amends the system's audit trail accordingly.
- all components read/write data from/to, for example, document objects and the system's audit trail.
- a variety of subsidiary components can be employed to perform operations required by one or more components that may include, for example, reading data from the system's audit trail.
- the system can create instances of objects (where each object corresponds to, for example, a data object or document object) and these objects can be referred by components for the sake of processing efficiency.
- the system defines "class types" to act as templates from which instances of objects can be created to represent document objects that contain data values.
- the auditing system's definition of data objects does not extend beyond data values to include constants contained within expressions as described above.
- all tables can vary in structure and content according to efficiency considerations that include, for example, computer memory allocation, file size (whether stored with or separate from the document) and processing time (in respect of both modifying the audit trail and delivering associated functionality).
- efficiency considerations include, for example, computer memory allocation, file size (whether stored with or separate from the document) and processing time (in respect of both modifying the audit trail and delivering associated functionality).
- efficiency considerations have inverse relationships, and efficiency in one respect may thus imply relative inefficiency in another respect.
- the structure and content of the audit trail may vary according to requirements and applications thereof at any given time.
- the integer field that denotes the type of associated document object 88 in the Objects table may further contain another integer field in the range 1-99 by multiplying the value of existing data in the field by 100 and adding new data thereto.
- a data object's precedence-dependence relationships can be employed to infer the corresponding data value's standing in the document.
- a data value's standing might be, say, "input” (no precedents but dependents), “calculation” (precedents and dependents), “output” (precedents only) or "title” (neither precedents nor dependents).
- the Objects table can include an integer field, as described above, denoting such standing where, for example, 1 denotes “input”, 2 denotes “calculation”, 3 denotes “input & calculation” (e.g. a data object corresponding to an expression that contains one or more constants and has dependents), 4 denotes "output”, 5 denotes "input & output” and so on. Further, changes thereto can be recorded in the Effects table.
- the Objects table can be stored with the audit data for sake of efficiency, the auditing system's output can be considered to include only the Actions and Effects tables and the inclusion of the Objects table 84 in Figure 18 may be considered to be for illustrative purposes only.
- the Objects table can include additional fields.
- the Objects table can include references to child data objects 92, dependent data objects 93 and/or corresponding effects 94.
- the Objects table can be further expanded to include constants, expressions and/or values resulting from expressions, in which event a change to the contents of the Objects table can be considered to trigger creation of one or more corresponding records in the Effects table.
- references to data objects' child data objects 92 can be populated by examination of (other) data objects' parent data objects 87; similarly, references to data objects' dependent data objects 93 can be populated by examination of (other) data objects' precedent data objects 90; and references to data objects' corresponding effects 94 can be populated by examining (each and every record in) the Effects table.
- any fields omitted from the stored Objects table are not populated but corresponding data is instead referred, on each relevant occasion, from the Effects table.
- the auditing system obtains them from corresponding entries in the Effects table, with reference to the specified data objects' corresponding records in the Effects table 94 (as shown in Figure 19).
- data can extend across multiple fields as required due to constraints arising from the specifications and limitations of the audit trail's storage environment.
- references to the effects that correspond to each data object 94 can be contained in more than one field where the length of the corresponding text entry exceeds the number of characters permitted in a cell; and similarly, with consideration to the number of rows and columns permitted in a Worksheet, tables' fields can extend or repeat across a Worksheet and tables' records can further extend across multiple Worksheets.
- the auditing system can record (in the Effects table) changes to, for example, a data object's child and dependent data objects, in addition to changes to a data object's parent and precedent data objects as described above.
- the system can, for example, write each data object's numerical identifier (1 in respect of data object 1, 2 in respect of data object 2 and so on) to cells, as opposed to employing row numbers (and multiples thereof) as described above.
- Data objects can be associated with documents other than the audited document and with document objects therein.
- the auditing system's data objects 84 can include data objects associated with other Workbook objects 82 and/or document objects therein and the data objects' "Associations" can include data objects in the other Workbook.
- the system can thus assess, and record or report as required, whether or not the associated document object in the other workbook is associated with the desired data object in the other Workbook. (If the document object in the other Workbook has been moved then it may no longer be associated with the desired data object in the other Workbook.)
- references to data objects can be hyphenated for sake of storage efficiency.
- references to data objects 1, 2 and 3 can be recorded as "1, 2, 3" or "1-3".
- references to precedent and dependent data objects, in the Objects 84 and/or Effects 86 tables, can be negative in order to denote contingent relationships.
- precedent data in respect of the data object that corresponds to the expression can include negative references to the data objects that are associated with the document objects referred in the first argument of the IF function and, conversely, the data object that corresponds to the expression can be referred with a negative sign in dependent data in respect of the data objects that are associated with the document objects referred in the first argument of the IF function.
- Fields in the tables can be positive or negative to denote other Boolean data.
- the contents of "column A” can be positive or negative to denote the content of "Column F” and thus remove the need for "Column F".
- formatting available in the application can be employed in place of data fields.
- the contents of "Column B" 88 can be replaced by varied formatting of records where, for example, bold denotes a Workbook object, underline denotes a Worksheet object, italic denotes a (single-cell) Range object and so on.
- the Content of "Column A” and “Column B” can be stored in a single Column with content of type "Date", hi an alternative embodiment, the contents of the Actions table can be stored within the Effects table.
- an action's date and time are stored in two fields of each corresponding effect, in place of the references to the action that is contained in "Column A" 116 of the Effects table. Irrespective of this, the contents of the Actions table can be completely excluded from the audit data where it is not required by applications of the audit data.
- Records in the Effects table described above include detail of changes to data objects that correspond to constants and expressions.
- the auditing system can similarly write detail of changes in values resulting from expressions, which may (or may not) correspond to different data objects from those that correspond to the related expressions.
- Figure 29 illustrates that exhaustive analysis of data relating to objects impacted as a direct result of a document change precedes analysis of data relating to objects impacted as an indirect result of the same document change, and thus implies that creation of records in the Effects table relating to the former objects precedes creation of records relating to the latter objects
- the analysis can be performed other than strictly sequentially (that is, data relating to some objects impacted as an indirect result of the document change can be analysed prior to data relating to some objects impacted as a direct result of the document change) and, with consideration to applications of the audit data, the order of the Effects table's records may similarly vary from that implied by Figure 29.
- An application's validation functionality can similarly be extended, complemented or replaced in order that it might benefit from data contained in the system's audit trail.
- Microsoft(RTM) Excel(RTM) includes "data validation" functionality that enables the user to designate valid cell entries according to a variety of criteria.
- this functionality can also, for example: relate to entries in other types of document objects; relate to constants contained in expressions; include criteria relating to when, and/or for what time period, changes are valid; and include relevant criteria relating to relationships.
- relevant validation criteria can be automatically interpreted and defined (via or independent of the application's existing validation functionality) and detail of any validation failures can be recorded in the system's audit trail as described above and/or advised to the user by various means.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
L'invention concerne un procédé de suivi de changements apportés à des données de document, les données de document comprenant une pluralité d'objets de document et une pluralité de valeurs de données. Le procédé consiste: à générer un ensemble d'objets de données correspondant à des valeurs de données respectives et à des objets de document respectifs; à recevoir une entrée indiquant qu'au moins un objet de document a été modifié; à sélectionner des objets de données correspondant à au moins un objet de document modifié et à un certain nombre de valeurs de données modifiées; et à modifier les objets de données sélectionnés conformément aux modifications apportées aux valeurs de données ou aux objets de document correspondants.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0526293A GB2433614A (en) | 2005-12-23 | 2005-12-23 | Data tracking system |
| GB0526293.6 | 2005-12-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2007072051A2 true WO2007072051A2 (fr) | 2007-06-28 |
| WO2007072051A3 WO2007072051A3 (fr) | 2008-05-08 |
Family
ID=35841113
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/GB2006/004910 Ceased WO2007072051A2 (fr) | 2005-12-23 | 2006-12-27 | Systeme de suivi de donnees |
Country Status (2)
| Country | Link |
|---|---|
| GB (1) | GB2433614A (fr) |
| WO (1) | WO2007072051A2 (fr) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016064830A1 (fr) * | 2014-10-22 | 2016-04-28 | Cheersounds Music | Systeme pour produire un fichier de sortie |
| US10552529B2 (en) | 2017-05-03 | 2020-02-04 | International Business Machines Corporation | Data change alerts in a collaborative environment |
| WO2021223186A1 (fr) * | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Opérations d'application fondées sur une région dynamique |
| US11604922B2 (en) | 2018-11-02 | 2023-03-14 | Cser Ventures, LLC | System for generating an output file |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9053117B2 (en) | 2012-04-11 | 2015-06-09 | 4Clicks Solutions, LLC | Storing application data with a unique ID |
| US20140082470A1 (en) * | 2012-09-19 | 2014-03-20 | 4Clicks Solutions, LLC | Spreadtree hierarchy system for spreadsheets and related methods |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06101008B2 (ja) * | 1988-09-09 | 1994-12-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表計算処理装置 |
| US5303146A (en) * | 1993-03-11 | 1994-04-12 | Borland International, Inc. | System and methods for improved scenario management in an electronic spreadsheet |
| US6948154B1 (en) * | 1999-03-22 | 2005-09-20 | Oregon State University | Methodology for testing spreadsheets |
| GB0403059D0 (en) * | 2004-02-12 | 2004-03-17 | Cluster Seven Ltd | Xigence version 1.0 |
-
2005
- 2005-12-23 GB GB0526293A patent/GB2433614A/en not_active Withdrawn
-
2006
- 2006-12-27 WO PCT/GB2006/004910 patent/WO2007072051A2/fr not_active Ceased
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016064830A1 (fr) * | 2014-10-22 | 2016-04-28 | Cheersounds Music | Systeme pour produire un fichier de sortie |
| GB2548503A (en) * | 2014-10-22 | 2017-09-20 | Cser Ventures Llc | System for generating an output file |
| US11164603B2 (en) | 2014-10-22 | 2021-11-02 | Cser Ventures, LLC | System for generating an output file |
| GB2548503B (en) * | 2014-10-22 | 2022-03-23 | Cser Ventures Llc | System for generating an output file |
| US10552529B2 (en) | 2017-05-03 | 2020-02-04 | International Business Machines Corporation | Data change alerts in a collaborative environment |
| US11604922B2 (en) | 2018-11-02 | 2023-03-14 | Cser Ventures, LLC | System for generating an output file |
| US12340167B2 (en) | 2018-11-02 | 2025-06-24 | Cser Ventures, LLC | System for generating an output file |
| WO2021223186A1 (fr) * | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Opérations d'application fondées sur une région dynamique |
| US11216715B2 (en) | 2020-05-07 | 2022-01-04 | Citrix Systems, Inc. | Dynamic region based application operations |
| US11704532B2 (en) | 2020-05-07 | 2023-07-18 | Citrix Systems, Inc. | Dynamic region based application operations |
Also Published As
| Publication number | Publication date |
|---|---|
| GB0526293D0 (en) | 2006-02-01 |
| WO2007072051A3 (fr) | 2008-05-08 |
| GB2433614A (en) | 2007-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10042533B2 (en) | Graphical user interface that simplifies user creation of custom calculations for data visualizations | |
| US9348581B2 (en) | Systems, method and computer program products for tracking and viewing changes to information stored in a data structure | |
| US9785907B2 (en) | Supplemental system for business intelligence systems | |
| EP1922641B1 (fr) | Interface utilisateur pour la creation de table recapitulative de donnees de feuille de calcul | |
| US8799282B2 (en) | Analysis of a system for matching data records | |
| RU2421797C2 (ru) | Указание, задание и обнаружение параметров документов электронных таблиц | |
| US7660817B2 (en) | System and method for representing content in a file system | |
| US7822795B2 (en) | Apparatus and methods for displaying and determining dependency relationships among subsystems in a computer software system | |
| US7302444B1 (en) | System for designating grid-based database reports | |
| US20080195651A1 (en) | Batch Management of Metadata in a Business Intelligence Architecture | |
| US20060136433A1 (en) | File formats, methods, and computer program products for representing workbooks | |
| US20070239802A1 (en) | System and method for maintaining the genealogy of documents | |
| US20130097585A1 (en) | Profile based version comparison | |
| US9430126B2 (en) | Insertion of a business object creation interface into an application window | |
| WO2008094848A2 (fr) | Appareil et procédé permettant une présentation de données sous forme graphique avec une bibliothèque de visualisation extensible | |
| US20090228485A1 (en) | Navigation across datasets from multiple data sources based on a common reference dimension | |
| US7937415B2 (en) | Apparatus and method for stripping business intelligence documents of references to unused data objects | |
| US8832645B2 (en) | Quick-creating objects in an application | |
| WO2007072051A2 (fr) | Systeme de suivi de donnees | |
| US20070143350A1 (en) | Advanced desktop reporting | |
| US11061875B2 (en) | Concurrent authoring in semantic layer universes | |
| US20220027378A1 (en) | Data storage and manipulation | |
| CA2663859A1 (fr) | Dispositif et methode de mise a jour de rapport par interaction du temps de visualisation | |
| HK40047726A (en) | Improved spreadsheet and method for updating same | |
| Carlberg | Excel for Accountants |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 06831468 Country of ref document: EP Kind code of ref document: A2 |