US7010779B2 - Parser, code generator, and data calculation and transformation engine for spreadsheet calculations - Google Patents
Parser, code generator, and data calculation and transformation engine for spreadsheet calculations Download PDFInfo
- Publication number
- US7010779B2 US7010779B2 US10/222,730 US22273002A US7010779B2 US 7010779 B2 US7010779 B2 US 7010779B2 US 22273002 A US22273002 A US 22273002A US 7010779 B2 US7010779 B2 US 7010779B2
- Authority
- US
- United States
- Prior art keywords
- spreadsheet
- source code
- data
- returns
- 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.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Definitions
- the present invention pertains in general to software based calculation and data transformation engines, and more particularly, to conversion of the calculation and data transformation features of spreadsheet data into source code of a target software development language for independent run-time execution.
- Spreadsheet applications for computers such as IBM's Lotus 123® and Microsoft® Excel, have become very popular analysis and communication tools.
- Spreadsheets are typically used to perform numerical analyses and ‘what if’ analyses, to simulate complex systems, and to communicate ideas.
- Many users are familiar with the spreadsheet metaphor. With little or no training, users can create complex, interrelated calculations and data transformations in spreadsheet applications.
- spreadsheet applications Being able to embed the calculations and data transformations of a spreadsheet directly into stand-alone applications, distributed applications, and server-based applications can be very powerful.
- Some spreadsheet applications have application programming interfaces (APIs) that allow them to provide calculation and data transformation as a service to other applications. But distributing and using spreadsheets in this way requires that users have the same or a compatible spreadsheet application as the one in which the spreadsheet was created.
- APIs application programming interfaces
- spreadsheet applications as calculation engines in server-based applications also has limitations. Background art spreadsheet applications are meant for single users and cannot scale to support high-volume server-side processing. Also, the User Interface and display features of spreadsheet applications carry significant overhead.
- the overhead associated with the User Interface and runtime cell formula interpretation features can negatively impact server performance, both from processing speed and memory usage standpoints.
- the overhead can also significantly degrade download performance.
- Some spreadsheet applications and spreadsheet components use mechanisms to represent simple cell formulas as machine code during idle time processing. While this can reduce the negative performance impact related to run-time cell formula interpretation, it maintains the memory overhead and it can limit the spreadsheet application or spreadsheet component to running on only a single platform.
- the generated source code may then be integrated into a wide variety of different types of applications or other utilization mechanisms.
- the calculations and data transformation may allow features to be accessed by users who do not have a spreadsheet application or spreadsheet component, or who have a spreadsheet application or spreadsheet component that is incompatible with the original spreadsheet application.
- the calculations and data transformation may protect features from being modified accidentally or deliberately.
- spreadsheet applications may be used as design tools for creating and testing complex, interrelated calculation functionality for use in a wide variety of applications.
- the calculations and data transformation allows features to be embedded into high-volume server architectures, such as mainframe computers or super computers, that are not fully supported by background art spreadsheet applications or components. Moreover, the calculations and data transformation may allow features to be embedded into disparate or distributed computing environments, such as web-browsers, embedded systems, gaming consoles, cell phones, and personal digital assistants (PDAs), that are not fully supported by background art spreadsheet applications or components.
- high-volume server architectures such as mainframe computers or super computers
- PDAs personal digital assistants
- the present invention relates to source code generator programming interfaces defined to facilitate the analysis of a body of spreadsheet data and the generation of software source code representative of the body of spreadsheet data.
- the generated software source code embodies structural aspects of the body of spreadsheet data.
- the calculations and data transformations are performed thorough a plurality of spreadsheet sheets. This makes the calculations and data transformations available through a programming interface. Further, the grammar and syntax is conformed to a target software development language.
- a preferred embodiment of the Parser and Code Generator integrated directly into a spreadsheet application optionally generates source code conforming to the syntax of multiple target software development languages, including Java® by Sun Microsystems, C, C++, and others.
- FIG. 1 shows a diagram of representative computer system hardware in accordance with a preferred embodiment
- FIG. 2 shows a screen shot of a representative spreadsheet application in accordance with a preferred embodiment
- FIG. 3 shows a screen shot of a control interface displaying user-configurable properties integrated directly into a spreadsheet application, in this case Microsoft® Excel in accordance with the invention
- FIG. 4 a is a sample generated source code representative of global aspects of a body of spreadsheet data
- FIG. 4 b is a screen shot of generated source code representative of aspects of a single spreadsheet sheet
- FIG. 4 c is a sample representative spreadsheet cell formula and representative generated code
- FIG. 5 is a sample representative spreadsheet-like application interfacing with the Calculation Engine for values from an underlying compiled module representative of a body of spreadsheet data to provide calculation and data transformation features of the represented spreadsheet;
- FIG. 6 is a sample representative non-spreadsheet-like applet interfacing with the Calculation Engine in a web browser environment for values from an underlying compiled module representative of a body of spreadsheet data to provide calculation and data transformation features of the represented spreadsheet;
- FIG. 7 is a Flow Chart depicting overview of Code Generation Operation
- FIG. 8 is a Flow Chart depicting GetColorSchemes sub-operation of Code Generation Operation
- FIG. 9 is a Flow Chart depicting ConnectSheets sub-operation of Code Generation Operation
- FIG. 10 is a Flow Chart depicting ConnectNames sub-operation of Code Generation Operation
- FIGS. 11 a – 11 e are Flow Charts depicting ParseCellFormulas sub-operation of Code Generation Operation
- FIG. 12 is a Flow Chart depicting KDBook.GetCode sub-operation of Code Generation Operation
- FIG. 13 is a Flow Chart depicting KDSheet.GetCode sub-operation of Code Generation Operation
- FIG. 14 is a Flow Chart depicting GetFuncLibCode sub-operation of Code Generation Operation
- FIG. 15 is a Flow Chart depicting DeployCode sub-operation of Code Generation Operation
- FIG. 16 illustrates Use Case diagram depicting the basic high-level use cases for the Calculation Engine
- FIG. 17 is a UML Class diagram depicting basic classes used within the Calculation Engine. Some details, such as the public application programming interface (API) methods, are set forth with reference to the data structures used in the calculation engine;
- API application programming interface
- FIG. 18 In accordance with a preferred embodiment, a UML Sequence Diagram depicting basic operations and classes involved with loading an instance of the Calculation Engine;
- FIG. 19 is a UML Sequence Diagram depicting basic operations and classes involved with getting a value within the Calculation Engine.
- FIG. 20 is a UML Sequence Diagram depicting basic operations and classes involved with setting a value within the Calculation Engine.
- FIG. 1 a block diagram of the representative computer hardware is shown illustrating a computer system implementing a source code generator with methods employing a process and computer-readable medium containing instructions for controlling the computer system, which comprises a processor or CPU 100 receiving input from a keyed input device 102 or pointing device 104 .
- a display device 106 and printing device 108 are provided for output and volatile storage 110 and non-volatile storage 112 may include computer-readable media and random access memory and the like.
- a spreadsheet application 116 is employed with a plurality of sheets from which a data structure including calculation files are used for corresponding spreadsheet data.
- a data acquisition interface is used for receiving the spreadsheet data, which is transferable to the calculation files.
- a parser and source code generator 118 is used for extracting information from the data structure.
- An information processor facilitated the use of CPU 100 for performing a data transformation of extracted information stored in said data structure through said programming interface to conform to the grammar and syntax of a target software development language.
- a calculation engine 120 is provided, which has the following benefits:
- a Class is an embodiment of characteristics and behaviors.
- An instance of a Class is an object that exhibits the characteristics and behaviors of the Class.
- a body of spreadsheet data comprises a singleton Workbook comprising a plurality of Worksheets.
- Worksheets comprise a plurality of Cells that can contain literal data values or formulas that are dependent on other Cells.
- Individual Cells as well as Ranges of Cells can be Named and can be referred to and accessed by Name.
- Name There are many well-known and widely available references describing spreadsheet principles and specific spreadsheet applications and components in great detail.
- the disclosed invention comprises several data structures that represent the various entities of a spreadsheet.
- the data structures are object-oriented software classes that embody characteristics and behaviors of said spreadsheet entities.
- the Data Structures may be representative of spreadsheet entities, which may be instantiated as Extensible Markup Language (“XML”) data representative of spreadsheet entities. Some of these Data Structures are considered at code-generation time and some are considered at runtime. For the purposes of specification, it is useful to define said data structures:
- the data structures of the Parser and Code Generator comprise the following object oriented software classes: KDBook, KDSheet, KDCell, KDName, KDFunc, KDFuncArg, KDColorScheme, KDEncoder, KDParser, KDCodeSegment, and KDSharedFormula.
- KDBook is a software Data Structure that represents the global data aspects of a body of spreadsheet data.
- KDBook is an object-oriented software class. A singleton instance of KDBook is instantiated.
- Description Field Name The global name of the body of spreadsheet data.
- the value of the Name field is derived from the filename of the body of spreadsheet data.
- KDSheet is a software Data Structure that represents the aspects of a single spreadsheet sheet within a body of spreadsheet data. In background art spreadsheet applications and components, these are commonly referred to as ‘worksheet’ or ‘sheet’.
- KDSheet is an object-oriented software class. An instance of KDSheet is instantiated for each sheet in the body of spreadsheet data.
- KDCell is a software Data Structure that represents the aspects of a single spreadsheet cell within a spreadsheet sheet.
- KDCell is an object-oriented software class. An instance of KDCell is instantiated for each cell on said spreadsheet sheet.
- the KDCell includes the following members.
- Description Field Sheet A reference to the instance of KDSheet that represents the aspects of the spreadsheet sheet which contains the spreadsheet cell represented by the current instance of KDCell.
- Row The row of the represented spreadsheet cell.
- Col The column of the represented spreadsheet cell.
- RC The text based identifier of the represented spreadsheet cell's row and column.
- RawFormula The text of the raw spreadsheet cell formula in the syntax of the spreadsheet application.
- HasDependents An indicator of whether other spreadsheet cells depend on (refer to) the spreadsheet cell represented by the current instance of KDCell.
- HasDeclaration An indicator indicating whether a source code declaration should be generated for the spreadsheet cell represented by the current instance of KDCell.
- HasFormula An indicator of whether the spreadsheet cell represented by the current instance of KDCell contains a cell formula.
- Persistent An indicator of whether the current instance of KDCell should be marked as persistable. ForeColor An indicator of the foreground color of the spreadsheet cell represented by the current instance of KDCell. BackColor An indicator of the background color of the spreadsheet cell represented by the current instance of KDCell.
- FormulaSourceCode The source code representative formula of the spreadsheet cell. Only populated where the represented spreadsheet cell contains a cell formula rather than a literal data value.
- CodeSegments An ordered collection of sub-strings of source code segments representative of the function calls and parameters in a cell formula.
- SharedFormula A reference to an instance of SharedFormula (defined below) representative of source code called by source code representative of cell formulas with similar formula structures.
- KDName is a software Data Structure that represents the aspects of a named range of spreadsheet cells within a spreadsheet sheet.
- KDName is an object-oriented software class. An instance of KDName is instantiated for each named range of spreadsheet cells within said body of spreadsheet data.
- KDName.BRCell property is equal to the KDName.Cell property.
- RangeRC The text, in the syntax of the spreadsheet application, that specifies the range of spreadsheet cells named by the spread- sheet name. RefersTo An indicator of whether the represented spreadsheet name refers to a single spreadsheet cell or a range of spread- sheet cells.
- KDName has no member methods.
- KDFunc is a software Data Structure that represents the aspects of built-in or user-defined spreadsheet functions that can be used in spreadsheet cell formulas.
- KDFunc is an object-oriented software class. An instance of KDFunc is instantiated for each supported spreadsheet function.
- KDFunc instances representative of built-in spreadsheet functions are included in the invention. KDFunc instances representative of user-defined functions can be dynamically included from an external data source.
- TargetCodeFuncName The name of the supported function specified in the syntax of the spreadsheet application.
- TargetSourceCode The source code implementation of the supported built-in or user-defined spreadsheet function specified in the syntax of the target software development language.
- bUserDefined A Boolean indicator indicating whether the Function is used is user-defined. For built-in spreadsheet functions, the value of this property is ‘False’. For user-defined functions, it is ‘True’.
- bUsed A Boolean indicator indicating whether the Function is used in the spreadsheet and there- fore requires that the implementation held in TargetSourceCode be included in the generated source code.
- KDFuncArg is a software Data Structure that represents the aspects of arguments of built-in or user-defined spreadsheet functions that can be used in spreadsheet cell formulas.
- KDFuncArg is an object-oriented software class. An instance of KDFuncArg is instantiated for each argument accepted by each supported spreadsheet function.
- the use of KDFuncArg allows the present invention to easily support the representation of built-in or user-defined spreadsheet functions that take any number of arguments. Some built-in or user-defined spreadsheet functions take no arguments, some take a fixed number of arguments, some have optional arguments, and some can take a variable-length list of arguments.
- Field Description Func A reference to the instance of KDFunc that represents the aspects of the built-in or user-defined spreadsheet function, an argument of which is represented by the current instance of KDFuncArg. N The sequence ordinal of the argument represented by the current instance of KDFuncArg. For the first argument, the value of this property is ‘1’; for the second argument, the value of this property is ‘2’, and so on.
- ArgumentType An indicator of the type of argument of the current argument of the supported spreadsheet function.
- argExpression indicates that the Nth argument can be any expression that has a value, including a static value, a reference to another cell, or a call to another built-in or user-defined spreadsheet function.
- argList indicates that the built-in or user-defined spreadsheet function takes a variable-length list of arguments. If the function takes a variable length list of arguments, then one and only one instance of KDFuncArg should be instantiated for the built-in or user-defined spreadsheet function, and its ArgumentType field must be equal to argList.
- KDCodeSegment is a software Data Structure that represents the aspects of a segment of code in a cell formula.
- KDCodeSegment is an object-oriented software class. An instance of KDCodeSegment is instantiated for each contiguous code segment or parameterizable reference in a cell formula.
- the use of KDCodeSegment allows the output of present invention to be optimized by identifying spreadsheet cells with cell formulas similar enough that total generated source code size can be reduced by having multiple cells call the shared formula rather than implement the formula individually.
- Type An indicator of the type of the KDCodeSegment.
- segCode indicates that the segment is source code.
- segName indicates that the segment represents a reference to a named cell or range.
- segRCRangeRef indicates that the segment represents a reference to a range of cells.
- segRCCellRef indicates that the segment represents a reference to a cell.
- KDSharedFormula is a software Data Structure that represents the aspects of a cell formula formation that is common to multiple cells.
- KDSharedFormula is an object-oriented software class.
- An instance of KDSharedFormula is instantiated where at least two cells are similar enough that total generated source code size can be reduced by having multiple cells call a shared formula rather than implement the formula individually.
- KDColorScheme is a software Data Structure that represents the aspects of a particular combination of colors of spreadsheet cell features.
- KDColorScheme is an object-oriented software class. An instance of KDColorScheme is instantiated for each color scheme defined by the user in said body of spreadsheet data. The KDColorScheme allows the user to indicate which spreadsheet cells should be included in code generation, excluded from code generation, and marked as persistent, by specifying the foreground and background colors of the spreadsheet cell.
- KDEncoder is a software Data Structure that represents the aspects of a parser and code generator that generates software source code representative of a body of spreadsheet data.
- KDEncoder is an object-oriented software class. A singleton instance of KDEncoder is instantiated to generate said software source code.
- Field SpreadsheetBook A reference to a spreadsheet application single- ton object that comprises the global aspects of the body of spreadsheet data.
- Book A reference to the singleton instance of KDBook instantiated to represent the global aspects of the body of spreadsheet data.
- OutputLocation The user-specified file system path to the folder or directory where generated source code files are to be deposited.
- PackageName A preferred embodiment of the present invention generates source code that conforms to the Java ® software language by Sun Microsystems.
- the PackageName field directs that said generated software source code contain the user- specified PackageName field value as a Package descriptor consistent with the Package construct of the Java ® software language by Sun Microsystems.
- ConsiderDependencies An indicator of whether said source code generation process should generate source code for all spreadsheet cells that have dependencies even if they are otherwise outside of the inclusion conditions.
- SizeOptimize An indicator of whether said source code generation process should try to reduce the size of generated code by replacing individual implementations of source code representative of similarly structured cell formulas with calls to shared functions representative of said similarly structured cell formulas. IncludeColorSchemes Collection of references to KDColorScheme instances that represent all the color schemes of spreadsheet cells for which representative source code should be generated, even if the spreadsheet cells are otherwise outside of the inclusion conditions. ExcludeColorSchemes Collection of references to KDColorScheme instances that represent all the color schemes of spreadsheet cells for which representative source code should not be generated, even if the spreadsheet cells are otherwise in most of the inclusion conditions.
- Parser A reference a KDParser instance that is used to generate source code representative of individual spreadsheet cell formulas.
- the properties of the KDSheet instances are also populated with relevant fields that describe the spread- sheet sheet, and with a reference to the single- ton instantiated KDBook instance.
- ConnectNames A function that is called for each spreadsheet name in the body of spreadsheet data to instantiate an instance of KDName and connect it via a property reference to the represented spreadsheet name.
- the properties of the KDName instances are also populated with relevant fields that describe the spreadsheet name, and with a reference to the singleton instantiated KDBook instance.
- GetColorSchemes A function that searches the body of spread- sheet data for user-defined color schemes that indicate which cells are to be included, excluded, and or marked as persistent in the generated source code.
- KDColorScheme An instance of KDColorScheme is instantiated and stored in the corresponding KDEncoder field for each color scheme found.
- ParseCellFormulas A function that iterates through each spread- sheet sheet and each spreadsheet cell within said sheet to generate and store the source code representative of the cell formula for each of said spreadsheet cells.
- WriteCode A function that writes the generated source code representative of the body of spreadsheet data to files in the said OutputLocation.
- DeployCode A function that further processes said generated source code to prepare it for deployment in a target execution environment.
- KDParser is a software Data Structure that represents aspects of a recursive descent expression parser that parses spreadsheet cell formulas and generates software source code representative of the calculations and data transformations of said spreadsheet cell formulas.
- KDParser is an object-oriented software class. A singleton instance of KDParser is instantiated to parse said cell formulas and generate said representative source code, All cell formula parsing functionality is embodied in this class.
- KDParser panes a cell formula and generates source code conforming to the grammar and syntax of a software development language, such as the Java® language by Sun Microsystems.
- KDParser support various target software development languages, such as Visual Basic®, VBScript®, Jscript® and Microsoft Visual Basic® for Applications by Microsoft, Basic, Assembler, C++, C#, Fortran, COBOL and other existing arid unanticipated target software development languages.
- Method Encode Function that parses a complete spread- sheet cell formula and generates representative source code in a target software development language. Calls GetSubExprSourceCode for subexpressions within cell formula. GetSubExprSourceCode Recursive method that parses arbitrary- depth nested subexpressions in spreadsheet cell formulas. GetTok Method that isolates tokens within sub expressions of cell formulas. ParseFunc Method that parses and generates repre- sentative source code for built-in and user- defined spreadsheet functions. ParseArgs Method that parses and generates repre- sentative source code for arguments within built-in and user-defined spreadsheet functions. ParseArgList Method that parses and generates repre- sentative source code for arguments within built-in and user-defined spreadsheet functions where said spreadsheet function accepts a variable-length list of arguments.
- the data structures of the Calculation Engine comprise the following object oriented software classes: IKDJEngine, KDJEngine, KDJObject, KDJWorkbook, ‘MyWorkbook’ book, KDJWorksheet, ‘MyWorksheet’ sheet, KDJCell, KDJRange, KDJValue, and KDJExpressionParser, KDJCalcException, KDJFunctionLibrary, and KDJUserDefinedFunctionLibrary.
- KDJEngine is a software Data Structure and functions that together represent aspects of a Calculation Engine.
- KDJEngine implements a public application programming interface (API) that make features of the invention available to calling applications. The methods are directed at loading, getting, and setting values, among other operations.
- KDJEngine is an object-oriented software class. A singleton instance of KDJEngine is instantiated at runtime. Note that the list of methods exposed of KDJEngine is exemplary.
- KDJEngine has no fields.
- getSheetNumber A method which takes in the name of a represented worksheet and returns a numeric identifier of the represented active worksheet.
- getCellText A method that takes in a row and column to return the text interpretation of the represented cell's value on the represented active worksheet.
- setCellText A method that takes in a row identifier, column identifier, and text value and sets the represented cell's value on the represented active worksheet.
- getCellNumber A method that takes in row and column identifiers to return the numeric (double) interpretation of the corresponding represented cell's value on the represented active sheet.
- setCellNumber A method that takes in a row identifier, a column identifier, and a numeric (double) value and sets the represented cell's value on the represented active worksheet.
- getCellLogical A method that takes in row and column identifiers to return the Boolean (double) interpretation of the corresponding represented cell's value on the represented worksheet.
- setCellLogical A method that takes in a row identifier, a column identifier, and a Boolean value and sets the repre- sented cell's value on the represented active worksheet.
- getRangeFromName A method that takes in a name identifier and returns a KDJRange instance that represents the cell or cells associated with the name.
- getInputCells A method which returns a collection of KDJCell instances which are used for input operations only. These are indexed by A1 notation.
- getOutputCells A method which returns a collection of KDJCell instances which are used for output operations only. These are indexed by A1 notation.
- getPersistentCells A method which returns a collection of the KDJCell instances which are marked as persistent. These are indexed by A1 notation.
- getSheetCount A method which returns the number of represented worksheets in the represented workbook.
- clearCell A method that takes in row and column identifiers and clears the value of the represented cell.
- clearRange A method which takes in a range identifier and clears the values in the represented cells. hasFormula A method which takes in row and column identifiers and returns an indicator of whether the represented cell contains a cell formula.
- KDJObject is an object-oriented software class that has no member data fields or methods, but acts as the root-most class in an inheritance hierarchy. KDJValue, KDJRange, and KDJCell all inherit from KDJObject. Instances of KDJObject are not instantiated directly.
- KDJObject has no member fields.
- KDJWorkbook is a software Data Structure and functions defined in the target software development language that together represent the global, general data and behavior aspects of a body of spreadsheet data at runtime.
- KDJWorkbook is an object-oriented software class from which classes representative of specific spreadsheet workbooks are derived.
- KDJWorkbook inherits from KDJEngine.
- KDJWorkbook is not instantiated at runtime.
- Description Field Sheets A collection of references to the contained KDJWorksheet instances. ActiveSheet A reference to the active KDJWorksheet instance. Names A collection of data structures representing named spreadsheet cells and ranges of spreadsheet cells. dirtyCount A numeric counter that keeps track of the instance of KDJWorkbook's state. Each KDJCell object has a corresponding dirtyCount. If the count on the KDJCell is not equal to the dirtyCount on the KDJWorkbook, then the formula attached to the KDJCell must be recalculated. The dirtyCount is incremented every time a KDJCell value is set through KDJEngine.
- Method addNamedCell A method which takes in a name and a KDJCell reference and makes an association on the KDJWorkbook that the name refers to the KDJCell instance.
- addNamedRange A method which takes in a name and KDJRange reference and makes an association on the book that the name refers to the KDJRange.
- addSheet A method that takes in a KDJWorksheet reference, a position, and a name and adds a KDJWorksheet reference to the KDJWorkbook. setRecalc A method which increments the dirtyCount to indicate that KDJCell instances representing spreadsheet cells with formulas need to be recalculated.
- ‘MyWorkbook’book is a software Data Structure and functions defined in the target software development language that together represent global data and behavior aspects of a specific body of spreadsheet data at runtime in the present invention.
- ‘MyWorkbook’book is an object-oriented software class that is derived from KDJWorkbook. The source code of this class is generated by the Parser and Code Generator to represent the global data and behavior aspects of a specific body of spreadsheet data.
- ‘MyWorkbook’ is derived from the name of a spreadsheet workbook, so if the spreadsheet workbook's name is ‘Financials’ then the name of the generated class is ‘Financialsbook’. A singleton instance of ‘MyWorkbook’book is instantiated at runtime.
- KDJWorksheet is a software Data Structure that represents the aspects of a single spreadsheet sheet within a body of spreadsheet data. In background art spreadsheet applications and components, these are commonly referred to as ‘worksheet’ or ‘sheet’.
- KDJWorksheet is a software Data Structure and functions defined in the target software development language that together represent the general data and behavior aspects of a of a single spreadsheet sheet at runtime.
- KDJWorksheet is an object-oriented software class from which classes representative of specific spreadsheet sheets are derived. KDJWorksheet is not instantiated at runtime.
- SheetName The name of the spreadsheet sheet represented by the KDSheet instance.
- sheetIndex The one-based index of the spreadsheet sheet repre- sented by the KDSheet instance.
- columns A collection of data structures representing the columns of the spreadsheet. Each representative column comprises a collection of data structures that represent the rows in the column data.
- Method addCellReference A method which takes in a reference to an instance of KDJCell and row and column identifiers to add the reference to the KDJWorksheet.columns collection. getCell A method which takes in row and column identifiers and returns a reference to the KDJCell instance at that location.
- rowColToA1 A method that takes in row and column identifiers and returns a String representing the row and column in A1 notation. For example, the call rowColToA1(1,1) would return the string “A1”.
- ‘MyWorkbook’book is a software Data Structure and functions defined in the target software development language that together represent data and behavior aspects of a specific spreadsheet sheet at runtime in the present invention.
- ‘MyWorksheet’sheet is an object-oriented software class that is derived from KDJWorksheet. The source code of this class is generated by the Parser and Code Generator to represent the data and behavior aspects of a specific spreadsheet sheet.
- ‘MyWorksheet’ is derived from the name of a spreadsheet sheet, so if the spreadsheet sheet is named ‘Revenue’ then the name of the generated class would be ‘Revenuesheet.’ An instance of ‘MyWorksheet’sheet is instantiated at runtime for each spreadsheet sheet in the spreadsheet workbook.
- MyWorksheet’book A reference to the instance of KDJBook that repre- sents the global aspects of the body of spreadsheet data.
- A1 A reference to the KDJCell instance at row, column . . . location 1,1 with the specified initial value.
- the representative ‘MyWorksheet’sheet class will have a member ‘B3’ of type KDJCell.
- Method ⁇ Constructor>> Creates the parent-child relationship between the KDJWorkbook and KDJWorksheet.
- B1e A method which representing the formula contained . . . in the cell and returns a resultant Value instance.
- KDJCell is a software Data Structure and functions defined in the target software development language that together represent data and behavior aspects of a spreadsheet cell at runtime in the present invention.
- KDJCell is an object-oriented software class. Source code declaring a static instance of this class is generated by the present invention to represent the data aspects of each spreadsheet cell that contains a literal value rather than a cell formula. Instances of KDJCell are instantiated at runtime by the present invention to represent data and behavior aspects of each spreadsheet cell that contains a cell formula rather than a literal value.
- Description Field Sheet A reference to the instance of ‘MyWorksheet’sheet that represents the aspects of the spreadsheet sheet which con- tains the spreadsheet cell represented by the current instance of KDJCell.
- Row Read-only property containing the row of the represented spreadsheet cell.
- Col Read-only property containing the column of the repre- sented spreadsheet cell.
- value A reference to a KDJValue object that stores the text, numeric, Boolean, or error values for a cell.
- persistent An indicator of whether the current instance of KDCell should be marked as persistable.
- hasFormula An indicator of whether or not the cell has a formula associated with it.
- dirtyCount A numeric counter that keeps track of the cell's state.
- Method getValue A method which returns the KDJValue of the KDJCell instance. If the KDJCell's dirtyCount is not equal to the dirtyCount on the KDJWorkbook, then the formula is recalculated on request, otherwise, a cached result is returned. setValue Sets the value reference of the KDJCell instance. clear A method which clears the KDJCell's value. getText A method which returns the text representation of the KDJCell's KDJValue. setText A method that takes in a string and sets the KDJCell's KDJValue to the input string.
- KDJRange is a software Data Structure and functions defined in the target software development language that together represent data and behavior aspects of a range of spreadsheet cells within a spreadsheet sheet.
- KDJRange is an object-oriented software class. Instances of KDJRange are instantiated at runtime.
- topLeftRow An identifier of the location of the KDJRange instance's top left row.
- topLeftColumn An identifier of the location of the KDJRange instance's top left column.
- bottomRightRow An identifier of the location of the KDJRange instance's bottom right row.
- bottomRightColumn An identifier of the location of the KDJRange instance's bottom right column.
- type An indicator of whether the represented spread- sheet name refers to a single spreadsheet cell or a range of spreadsheet cells.
- One of cellType, verticalVectorType, horizontalVectorType, matrixType. Method equals A method which takes in two references to KDJRange instances and compares them for equality.
- KDJValue is a software Data Structure and functions defined in the target software development language that together represent data and behavior aspects of a KDJCell's value evaluation, whether the cell contains a literal value or a cell formula.
- KDJValue is also used to represent the results of built-in spreadsheet functions and user-defined functions.
- KDJValue is an object-oriented software class. Instances of KDJValue are instantiated at runtime.
- Description Field number A number (double) which stores the numeric representation of the KDJValue.
- text A string which stores the text representation of the KDJValue.
- bool A Boolean which stores the Boolean representation of the KDJValue.
- error A KDJException which stores an Errors associated with the KDJValue if there is one.
- lastSet An indicator that represents what type of value that was last set.
- logicalValue An indicator which stores whether the KDJValue represents a Boolean value or not.
- reference An indicator which stores whether the KDJValue is a reference to a KDJCell's KDJValue or not.
- Method compareTo A method that takes in a KDJValue and performs a comparison of the current instance of the KDJValue with another. It attempts to perform a numeric comparison and returns ⁇ 1 if the parameter is less than the value, 0 is if it is equal to, or 1 if it is greater than. If it cannot perform a numeric or Boolean comparison, it performs a lexicographical comparison of the strings based on Unicode character values. clone A method which makes a duplicate KDJValue object in a new memory space.
- KDJCalcException is a software Data Structure and functions that represent aspects of an Exception.
- KDJCalcException is an object-oriented software class. Instances of KDJCalcException are instantiated at runtime when an error occurs as the result of any unexpected conditions.
- KDJCalcException has no member methods.
- KDJExpressionParser is a software Data Structure and functions that represent the aspects of an expression parser for use by run-time implementations of built-in spreadsheet functions and user-defined functions that can take quoted regular expressions as arguments.
- KDJExpressionParser is an object-oriented software class. Instance of KDJExpressionParser are instantiated at runtime during evaluation of functions such as ‘SUMIF’ and ‘COUNTIF’, for example.
- KDJFunctionLibrary is a set of functions defined in the target software development language that represent behavior aspects necessary for execution of built-in spreadsheet functions.
- KDJFunctionLibrary is an object-oriented software class. All member functions of KDJFunctionLibrary are static and require no instantiation.
- KDJFunctionLibrary can be generated and only include implementations of the built-in spreadsheet functions actually used in the specific workbook for which code is generated. This serves to optimize the generated code for size.
- the entire library of built-in spreadsheet functions can be used if the Calculation Engine is to be shared by modules representing several workbooks, where the used functions may not be known at code-generation-time.
- KDJFunctions has no fields.
- Method Operators + Addition operator, returns the result of adding a number to a number.
- ⁇ Subtraction operator returns the result of a number subtracted from another number.
- * Multiplication operator returns the result of multiplying a number by a number.
- / Division operator returns the result of a number divided by a number.
- ⁇ circumflex over ( ) ⁇ raise-to-the-power operator, returns the result of a number raised to a power % Percent operator, returns the percent of a number (the number multiplied by 0.01).
- AREAS Returns the number of areas in a reference ASIN Returns the arcsine of a number ASINH Returns the inverse hyperbolic sine of a number ATAN Returns the arctangent of a number ATAN2 Returns the arctangent from x- and y- coordinates ATANH Returns the inverse hyperbolic tangent of a number AVEDEV Returns the average of the absolute deviations of the list of arguments AVERAGE The average of the values in a list.
- AVERAGEA Mean with text treated as 0 except TRUE 1
- BETADIST Returns the cumulative beta probability density function according to the specified parameters
- BETAINV Returns the inverse of the cumulative beta probability density function
- BINOMDIST Returns the individual term binomial distribution probability
- CALL Calls a procedure in a dynamic link library or code resource.
- CEILING Rounds a number to the nearest integer or to the nearest multiple of significance CELL Returns information about the formatting, location, or contents of the upper-left cell in a reference CHAR Returns the character specified by a number CHIDIST Returns the one-tailed probability of the chi-squared distribution CHIINV Returns the inverse of the one-tailed probability of the chi-squared distribution CHITEST Returns the value from the chi-squared ( ⁇ 2) distribution for the statistic and the appropriate degrees of freedom CHOOSE Return the value specified by index number from the list of value arguments
- CLEAN Removes all nonprintable characters from text CODE Returns a numeric code, which corresponds to the character set used by your computer, for the first character in a text string COLUMN Returns the column number of the given reference COLUMNS Returns the number of columns in an array or reference COMBIN Returns the number of combinations for a given number of objects CONCATENATE Joins several text strings into one text string and returns this string CONFIDENCE Returns the confidence interval for
- COUNTA Counts the number of cells that are not empty and the values within the list of arguments
- COUNTBLANK Counts empty cells in a specified range of cells
- COUNTIF Counts the number of nonblank cells within a range that meet the given criteria
- COVAR Returns covariance, the average of the products of deviations for each data point pair in two data sets
- CRITBINOM Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value
- DATE Returns the serial number that represents a particular date
- DATEVALUE Returns the serial number of the date represented by the text argument
- DAVERAGE Returns the average of selected database entries DAY Returns the day of a date, represented by a serial number DAYS360 Returns the number of days between two dates based on a 360-day year (twelve 30-day months)
- DB Returns the depreciation of an asset for a specified period using the fixed- declining balance method.
- DCOUNTA Counts nonblank cells in a database DDB Returns the depreciation of an asset for a specified period using the double- declining balance method or some other method you specify.
- DEGREES Converts radians into degrees.
- DEVSQ Returns the sum of squares of deviations of the arguments from their sample mean
- DGET Extracts from a database a single record that matches the specified criteria DMAX
- DMIN Returns the minimum value from selected database entries
- DOLLAR Converts a number to text using currency format, with the decimals rounded to the specified place
- DSTDEV Estimates the standard deviation based on a sample of selected database entries
- DSTDEVP Calculates the standard deviation based on the entire population of selected database entries DSUM Adds the numbers in the field column of records in the database that match the criteria DVAR
- DVARP Calculates variance based on the entire population of selected database entries
- ERRORTYPE Returns a number corresponding to one of the error values in KDJCalcException or returns the #N/A error if no error exists for the argument value EVEN Rounds a number up to the nearest
- LARGE Returns the k-th largest value in a data set, where the data set is specified by the first argument and the value of k by the second argument
- LCM Returns the least common multiple LEFT Returns the first character or characters in the argument text string, based on the number of characters you specify
- LEN Returns the number of characters in the argument text string
- LINEST Calculates the statistics for a line by using the “least squares” method to calculate a straight line that best fits your data, and returns an array that describes the line LN Returns the natural logarithm of a number.
- LOG Returns the logarithm of a number to the base 10 LOG Returns the logarithm of a number to a specified base LOG10 Returns the base-10 logarithm of a number LOGEST Calculates an exponential curve that fits your data and returns an array of values that describes the curve LOGINV Returns the inverse of the lognormal cumulative distribution function of x, where ln(x) is normally distributed with parameters mean and standard_dev LOGNORMDIST Returns the cumulative lognormal distribution of x, where ln(x) is normally distributed with parameters mean and standard_dev LOOKUP Returns value from one-row, one-col range or an array.
- LOOKUP Looks in a one-row or one-column range (known as a vector) for a value and returns a value from the same position in a second one-row or one-column range LOWER Converts all uppercase letters in the argument text string to lowercase MATCH Returns the relative position of an item in an array that matches a specified value in a specified order MATCH Returns the relative position of an item in an array that matches a specified value in a specified order
- MAX Returns the largest value in a set of values. Ignores logical values and text.
- MAXA Returns the largest value in a set of values. Does not ignore logical values and text.
- MDETERM Returns the matrix determinant of an array MEDIAN Returns the median of the given numbers MID Returns a specific number of characters from the argument text string, starting at the specified position, based on the specified number of characters MIN Returns the smallest value in a set of values. Ignores logical values and text. MINA Returns the smallest value in a set of values. Does not ignore logical values and text.
- MINUTE Returns the minutes, in integer format ranging from 0 to 59, of a time value MINVERSE Returns the matrix inverse of an array MIRR Returns the modified internal rate of return for a series of periodic cash flows MMULT Returns the matrix product of two arrays MOD Returns the remainder from division MODE Returns the most frequently occurring value in an array or range of data MONTH Returns the month, in integer format ranging from 0 to 12, of a date represented by a serial number MROUND Returns a number rounded to the desired multiple MULTINOMIAL Returns the multinomial of a set of numbers N Returns a value converted to a number NA Returns the error value #N/A NEGBINOMDIST Returns the probability that there will be number_f failures before the number_s- th success, when the constant probability of a success is probability_s NORMDIST Returns the normal cumulative distribution of the argument value for the specified mean and standard deviation NORMINV Returns the inverse of the normal cumulative distribution for the specified mean and
- VAR Estimates variance based on a sample VARA Estimates variance based on a sample, and includes all text and logical values in its calculation VARP Calculates variance based on the entire population given as arguments
- VARPA Calculates variance based on the entire population given as arguments, including text and logical values
- VDB Returns the depreciation of an asset for any period you specify, including partial periods, using the double-declining balance method or some other method you specify VLOOKUP Searches for a value in the leftmost column of a table, and then returns a value in the same row from a column you specify in the table
- VLOOKUP Searches for a value in the leftmost column of a table and then returns a value in the same row from a column you specify in the table.
- range_lookup FALSE, an exact match will be found. If range_lookup is TRUE, an approximate match will be found.
- WEEKDAY Returns the day of the week corresponding to a given date
- WEIBULL Returns the Weibull distribution YEAR Returns the year corresponding to a given date
- ZTEST Returns the two-tailed P-value of a z-test
- KDJUserDefinedFunctionLibrary is a set of functions defined in the target software development language that represent behavior aspects necessary for execution of user-defined spreadsheet functions.
- KDJUserDefinedFunctionLibrary is an object-oriented software class.
- KDJUserDefinedFunctionLibrary allows unanticipated functions to be made available for use in KDJCell formulas. All member functions of KDJUserDefinedFunctionLibrary must be defined as static and require no instantiation.
- KDJUserDefinedFunctionLibrary can be generated and only include implementations of the user-defined spreadsheet functions actually used in the specific workbook for which code is generated. This serves to optimize the generated code for size.
- the entire library of user-defined spreadsheet functions can be used if the Calculation Engine is to be shared by modules representing several workbooks, where the used functions may not be known at code-generation-time.
- KDJUserDefinedFunctionLibrary has no fields.
- Method DollarToWords A function for converting a currency amount to a word representation for use in printing checks. For example, (123.45) would return ‘One Hundred Twenty Three Dollars and Forty Five Cents’. . . .
- a multitude of unanticipated user-defined functions can be defined and made available for use by KDJCell formulas.
Abstract
Description
-
- (a) allowing spreadsheet applications to be relied upon to verify well-formedness of cell formulas;
- (b) reducing distribution size by eliminating the overhead of a spreadsheet application or spreadsheet component;
- (c) reducing distribution size by eliminating the overhead of User Interface features and run-time cell formula interpretation features;
- (d) allowing the generated code to be executed on any platform which supports a target software development language;
- (e) improving the performance of the calculations and data transformation features because they are embodied in compiled code rather than being interpreted at runtime;
- (f) improving the performance of the calculations and data transformation features because optimizing compilers can optimize for a target platform;
Description | ||
Field | |
Name | The global name of the body of spreadsheet data. The value of |
the Name field is derived from the filename of the body of | |
spreadsheet data. | |
Sheets | Collection of references to KDSheet instances that represent |
the sheets in the body spreadsheet data. | |
Names | Collection of references to KDName instances that represent |
the named cells or ranges of cells defined in the spreadsheet | |
data. | |
Method | |
GetCode | A function that assembles the source code representative of |
the global aspects of the body of spreadsheet data. | |
WriteCode | A function that writes the representative source code to a |
file, the name of which may be specified by the user or | |
derived from the filename of the body of spreadsheet data. | |
Description | ||
Field | |
SheetName | The name of the spreadsheet sheet represented by the |
KDSheet instance. | |
Index | The one-based index of the spreadsheet sheet repre- |
sented by the KDSheet instance. | |
Book | A reference to the instance of KDBook that represents |
the global aspects of the body of spreadsheet data. | |
StartCell | A reference indicating the Top Left cell of the spread- |
sheet sheet for which code is generated. May be set by | |
the user to limit the range of cells for which code is | |
generated. | |
EndCell | A reference indicating the Bottom Right cell of the |
spreadsheet sheet for which code is generated. May be | |
set by the user to limit the range of cells for which | |
code is generated. | |
Cells | Collection of KDCell instances that represent the cells |
in said sheet. | |
SharedFormulas | Collection of references to KDSharedFormula |
instances that represent the cell formulas of | |
a plurality of spreadsheet cells. | |
Method | |
GetCode | A function that assembles the source code repre- |
sentative of the data and calculation aspects of | |
the sheet of spreadsheet data represented by the | |
instance of KDSheet. | |
WriteCode | A function that writes the representative source |
code to a file, the name of which may be specified | |
by the user or derived from the name of the spread- | |
sheet sheet. | |
Description | ||
Field | |
Sheet | A reference to the instance of KDSheet that |
represents the aspects of the spreadsheet | |
sheet which contains the spreadsheet cell | |
represented by the current instance of | |
KDCell. | |
Row | The row of the represented spreadsheet cell. |
Col | The column of the represented spreadsheet |
cell. | |
RC | The text based identifier of the represented |
spreadsheet cell's row and column. | |
RawFormula | The text of the raw spreadsheet cell formula |
in the syntax of the spreadsheet application. | |
HasDependents | An indicator of whether other spreadsheet |
cells depend on (refer to) the spreadsheet | |
cell represented by the current instance of | |
KDCell. | |
HasDeclaration | An indicator indicating whether a source |
code declaration should be generated for | |
the spreadsheet cell represented by the | |
current instance of KDCell. | |
HasFormula | An indicator of whether the spreadsheet |
cell represented by the current instance | |
of KDCell contains a cell formula. | |
Persistent | An indicator of whether the current |
instance of KDCell should be marked as | |
persistable. | |
ForeColor | An indicator of the foreground color of |
the spreadsheet cell represented by the | |
current instance of KDCell. | |
BackColor | An indicator of the background color of the |
spreadsheet cell represented by the current | |
instance of KDCell. | |
FormulaSourceCode | The source code representative formula of |
the spreadsheet cell. Only populated where | |
the represented spreadsheet cell contains a | |
cell formula rather than a literal data | |
value. | |
CodeSegments | An ordered collection of sub-strings of |
source code segments representative of the | |
function calls and parameters in a cell | |
formula. | |
SharedFormula | A reference to an instance of SharedFormula |
(defined below) representative of source | |
code called by source code representative | |
of cell formulas with similar formula | |
structures. Only populated where the repre- | |
sented spreadsheet cell contains a cell | |
formula similar enough to other cell | |
formulas that total source code size can be | |
reduced by having the cells call the shared | |
formula rather than implement the formula | |
individually. | |
SharedFormulaSourceCode | The source code to call a shared formula |
representative of the cell formula. Only | |
populated where the represented spreadsheet | |
cell contains a cell formula rather than a | |
literal data value. | |
Method | |
GetCode | A function that assembles the source code |
representative of the calculation aspects | |
of the spreadsheet cell represented by the | |
instance of KDCell. The method is only | |
executed for cells that contain a formula | |
rather than a value. | |
GetDeclaration | A function that assembles the source code |
representative of the data and identification | |
aspects of the spreadsheet cell represented | |
by the instance of KDCell. | |
Description | ||
Field | |
Name | The text name of the named spreadsheet range represented by |
the KDName instance. | |
Cell | A reference the KDCell instance representing the single |
spreadsheet cell named by the spreadsheet name represented | |
by the current instance of KDName. Only populated for | |
spreadsheet names that name a single spreadsheet cell. | |
TLCell | A reference to the KDCell instance representing the Top Left |
spreadsheet cell of the range of spreadsheet cells named by | |
the spreadsheet name represented by the current instance of | |
KDName. For spreadsheet names that represent a single | |
spreadsheet cell, the KDName.TLCell property is equal to | |
the KDName.Cell property. | |
BRCell | A reference to the KDCell instance representing the Bottom |
Right spreadsheet cell of the range of spreadsheet cells named | |
by the spreadsheet name represented by the current instance of | |
KDName. For spreadsheet names that represent a single | |
spreadsheet cell, the KDName.BRCell property is equal to | |
the KDName.Cell property. | |
RangeRC | The text, in the syntax of the spreadsheet application, that |
specifies the range of spreadsheet cells named by the spread- | |
sheet name. | |
RefersTo | An indicator of whether the represented spreadsheet name |
refers to a single spreadsheet cell or a range of spread- | |
sheet cells. One of rtCell, rtVerticalVector, | |
rtHorizontalVector, rtMatrix, rtCellList. | |
Method | |
<<none>> | In a preferred embodiment, KDName has no member |
methods. | |
Field | Description |
SpreadsheetFuncName | The name of the supported function specified in |
the syntax of the spreadsheet application. | |
TargetCodeFuncName | The name of the supported function specified in |
the syntax of the target software development | |
language. | |
TargetSourceCode | The source code implementation of the supported |
built-in or user-defined spreadsheet function | |
specified in the syntax of the target software | |
development language. | |
bUserDefined | A Boolean indicator indicating whether the |
Function is used is user-defined. For built-in | |
spreadsheet functions, the value of this | |
property is ‘False’. For user-defined | |
functions, it is ‘True’. | |
bUsed | A Boolean indicator indicating whether the |
Function is used in the spreadsheet and there- | |
fore requires that the implementation held in | |
TargetSourceCode be included in the generated | |
source code. The value of bUsed is initially | |
‘False’ but is changed to ‘True’ if the function | |
is encountered in a spreadsheet cell formula | |
during parsing. | |
Arguments | An ordered Collection of KDFuncArg instances |
that represent the arguments of the represented | |
built-in or user-defined spreadsheet function. | |
Field | Description |
Func | A reference to the instance of KDFunc that represents the |
aspects of the built-in or user-defined spreadsheet | |
function, an argument of which is represented by the | |
current instance of KDFuncArg. | |
N | The sequence ordinal of the argument represented by the |
current instance of KDFuncArg. For the first argument, | |
the value of this property is ‘1’; for the second | |
argument, the value of this property is ‘2’, and so on. | |
ArgumentType | An indicator of the type of argument of the current |
argument of the supported spreadsheet function. One of: | |
argCellRef, argExpression, argOptional, or argList. | |
argCellRef indicates that the Nth argument must be a | |
reference to a spreadsheet cell or a name of a single | |
spreadsheet cell. | |
argExpression indicates that the Nth argument can be any | |
expression that has a value, including a static value, | |
a reference to another cell, or a call to another built-in | |
or user-defined spreadsheet function. | |
argOptional indicates that there may or may not be an | |
Nth argument in the built-in or user-defined spreadsheet | |
function. If an instance of KDFuncArg is defined with | |
ArgumentType = argOptional then every instance of | |
KDFuncArg that follows said instance (if any) must have | |
its ArgumentType property equal to argOptional. | |
argList indicates that the built-in or user-defined | |
spreadsheet function takes a variable-length list of | |
arguments. If the function takes a variable length list | |
of arguments, then one and only one instance of | |
KDFuncArg should be instantiated for the built-in or | |
user-defined spreadsheet function, and its | |
ArgumentType field must be equal to argList. | |
Field | Description |
Code | The source code characters in the KDCodeSegment. |
Type | An indicator of the type of the KDCodeSegment. One of: segCode, |
segName, segRCRangeRef, or segRCCellRef. | |
segCode indicates that the segment is source code. | |
segName indicates that the segment represents a reference to a | |
named cell or range. | |
segRCRangeRef indicates that the segment represents a reference | |
to a range of cells. | |
segRCCellRef indicates that the segment represents a reference to a | |
cell. | |
Field | Description |
SharedFormulaName | The name of the source code function repre- |
sented by SharedFormula. | |
SharedFormulaDefinition | The source code definition of the function |
represented by SharedFormula. | |
Field | Description |
BackColor | Identifier of the background color of the spreadsheet cell. |
ForeColor | Identifier of the foreground (font) color of the spreadsheet |
cell. | |
Description | ||
Field | |
SpreadsheetBook | A reference to a spreadsheet application single- |
ton object that comprises the global aspects of | |
the body of spreadsheet data. | |
Book | A reference to the singleton instance of |
KDBook instantiated to represent the global | |
aspects of the body of spreadsheet data. | |
OutputLocation | The user-specified file system path to the folder |
or directory where generated source code files | |
are to be deposited. | |
PackageName | A preferred embodiment of the present |
invention generates source code that conforms | |
to the Java ® software language | |
by Sun Microsystems. The | |
PackageName field directs that said generated | |
software source code contain the user- | |
specified PackageName field value as a | |
Package descriptor consistent with the | |
Package construct of the Java ® | |
software language by Sun Microsystems. | |
ConsiderDependencies | An indicator of whether said source code |
generation process should generate source code | |
for all spreadsheet cells that have dependencies | |
even if they are otherwise outside of the | |
inclusion conditions. | |
SizeOptimize | An indicator of whether said source code |
generation process should try to reduce the | |
size of generated code by replacing individual | |
implementations of source code representative | |
of similarly structured cell formulas with | |
calls to shared functions representative | |
of said similarly structured cell formulas. | |
IncludeColorSchemes | Collection of references to KDColorScheme |
instances that represent all the color schemes | |
of spreadsheet cells for which representative | |
source code should be generated, even if the | |
spreadsheet cells are otherwise outside of the | |
inclusion conditions. | |
ExcludeColorSchemes | Collection of references to KDColorScheme |
instances that represent all the color schemes | |
of spreadsheet cells for which representative | |
source code should not be generated, even if | |
the spreadsheet cells are otherwise in most of | |
the inclusion conditions. | |
PersistentColorSchemes | Collection of references to KDColorScheme |
instances that represent all the color schemes | |
of spreadsheet cells for which representative | |
source code will be generated and for which | |
said representative source code will indicate | |
that the cells should be marked as persistent. | |
Parser | A reference a KDParser instance that is used |
to generate source code representative of | |
individual spreadsheet cell formulas. | |
Method | |
ConnectBook | A function that instantiates an instance of |
KDBook and connects it via a property | |
reference to the spreadsheet application | |
singleton object that comprises the global | |
aspects of the body of spreadsheet data. | |
ConnectSheet | A function that is called for each spreadsheet |
sheet in the body of spreadsheet data to | |
instantiate an instance of KDSheet and | |
connect it via a property reference to the | |
represented spreadsheet sheet. The properties | |
of the KDSheet instances are also populated | |
with relevant fields that describe the spread- | |
sheet sheet, and with a reference to the single- | |
ton instantiated KDBook instance. | |
ConnectNames | A function that is called for each spreadsheet |
name in the body of spreadsheet data to | |
instantiate an instance of KDName and connect | |
it via a property reference to the represented | |
spreadsheet name. The properties of the | |
KDName instances are also populated with | |
relevant fields that describe the spreadsheet | |
name, and with a reference to the singleton | |
instantiated KDBook instance. | |
GetColorSchemes | A function that searches the body of spread- |
sheet data for user-defined color schemes that | |
indicate which cells are to be included, | |
excluded, and or marked as persistent in the | |
generated source code. An instance of | |
KDColorScheme is instantiated and stored | |
in the corresponding KDEncoder field for | |
each color scheme found. | |
ParseCellFormulas | A function that iterates through each spread- |
sheet sheet and each spreadsheet cell within | |
said sheet to generate and store the source | |
code representative of the cell formula for | |
each of said spreadsheet cells. | |
WriteCode | A function that writes the generated source |
code representative of the body of spreadsheet | |
data to files in the said OutputLocation. | |
DeployCode | A function that further processes said |
generated source code to prepare it for | |
deployment in a target execution environment. | |
Description | ||
Field | |
Funcs | A collection of KDFunc instances that |
represent the built-in and user-defined spread- | |
sheet functions. | |
Method | |
Encode | Function that parses a complete spread- |
sheet cell formula and generates representative | |
source code in a target software development | |
language. Calls GetSubExprSourceCode for | |
subexpressions within cell formula. | |
GetSubExprSourceCode | Recursive method that parses arbitrary- |
depth nested subexpressions in spreadsheet | |
cell formulas. | |
GetTok | Method that isolates tokens within sub |
expressions of cell formulas. | |
ParseFunc | Method that parses and generates repre- |
sentative source code for built-in and user- | |
defined spreadsheet functions. | |
ParseArgs | Method that parses and generates repre- |
sentative source code for arguments within | |
built-in and user-defined spreadsheet | |
functions. | |
ParseArgList | Method that parses and generates repre- |
sentative source code for arguments within | |
built-in and user-defined spreadsheet | |
functions where said spreadsheet function | |
accepts a variable-length list of | |
arguments. | |
Description | ||
Field | |
<<none>> | In a preferred embodiment, KDJEngine has no |
fields. | |
Method | |
getCalcEngine | A method which takes in an identifier of the |
generated source code and returns an instance of the | |
Calculation Engine to work with | |
forceRecalc | A method which forces the Calculation Engine |
to mark the KDJWorkbook dirty so that all | |
instantiations representing spreadsheet cells | |
with formulas are recalculated. | |
getActiveSheet | A method which returns an identifier of the active |
instance of KDJWorksheet (defined below). | |
setActiveSheet | A method which activates an instance of |
KDJWorksheet. | |
getSheetName | A method which takes in a numeric identifier and |
returns the name of the represented worksheet. | |
getSheetNumber | A method which takes in the name of a represented |
worksheet and returns a numeric identifier of the | |
represented active worksheet. | |
getCellText | A method that takes in a row and column to return |
the text interpretation of the represented cell's | |
value on the represented active worksheet. | |
setCellText | A method that takes in a row identifier, column |
identifier, and text value and sets the represented | |
cell's value on the represented active | |
worksheet. | |
getCellNumber | A method that takes in row and column identifiers |
to return the numeric (double) interpretation of the | |
corresponding represented cell's value on the | |
represented active sheet. | |
setCellNumber | A method that takes in a row identifier, a column |
identifier, and a numeric (double) value and sets | |
the represented cell's value on the represented | |
active worksheet. | |
getCellLogical | A method that takes in row and column identifiers |
to return the Boolean (double) interpretation of | |
the corresponding represented cell's value on the | |
represented worksheet. | |
setCellLogical | A method that takes in a row identifier, a column |
identifier, and a Boolean value and sets the repre- | |
sented cell's value on the represented active | |
worksheet. | |
getRangeFromName | A method that takes in a name identifier and returns |
a KDJRange instance that represents the cell or cells | |
associated with the name. | |
getInputCells | A method which returns a collection of KDJCell |
instances which are used for input operations only. | |
These are indexed by A1 notation. | |
getOutputCells | A method which returns a collection of KDJCell |
instances which are used for output operations only. | |
These are indexed by A1 notation. | |
getPersistentCells | A method which returns a collection of the KDJCell |
instances which are marked as persistent. These are | |
indexed by A1 notation. | |
getSheetCount | A method which returns the number of represented |
worksheets in the represented workbook. | |
clearCell | A method that takes in row and column identifiers |
and clears the value of the represented cell. | |
clearRange | A method which takes in a range identifier and |
clears the values in the represented cells. | |
hasFormula | A method which takes in row and column identifiers |
and returns an indicator of whether the represented | |
cell contains a cell formula. | |
Description | ||
Field | |
<<none>> | In a preferred embodiment, KDJObject has no member fields. |
Method | |
<<none>> | In a preferred embodiment, KDJObject has no member |
methods. | |
Description | ||
Field | |
Sheets | A collection of references to the contained |
KDJWorksheet instances. | |
ActiveSheet | A reference to the active KDJWorksheet instance. |
Names | A collection of data structures representing named |
spreadsheet cells and ranges of spreadsheet cells. | |
dirtyCount | A numeric counter that keeps track of the instance of |
KDJWorkbook's state. Each KDJCell object has a | |
corresponding dirtyCount. If the count on the KDJCell | |
is not equal to the dirtyCount on the KDJWorkbook, | |
then the formula attached to the KDJCell must be | |
recalculated. The dirtyCount is incremented every | |
time a KDJCell value is set through KDJEngine. | |
Method | |
addNamedCell | A method which takes in a name and a KDJCell |
reference and makes an association on the | |
KDJWorkbook that the name refers to the KDJCell | |
instance. | |
addNamedRange | A method which takes in a name and KDJRange |
reference and makes an association on the book | |
that the name refers to the KDJRange. | |
addSheet | A method that takes in a KDJWorksheet reference, |
a position, and a name and adds a KDJWorksheet | |
reference to the KDJWorkbook. | |
setRecalc | A method which increments the dirtyCount to indicate |
that KDJCell instances representing spreadsheet | |
cells with formulas need to be recalculated. | |
Description | ||
Field | |
‘myWorksheet1’sheet | An instantiation of the generated source code |
. . . | containing the values and formulas in |
‘myWorksheetN’sheet | myWorksheet1. |
Method | |
<<Constructor>> | Sets the default active KDJWorksheet instance |
and adds all of the named KDJCell instances and | |
KDJRange instances KDJWorkbook.Names. | |
Description | ||
Field | |
sheetName | The name of the spreadsheet sheet represented by the |
KDSheet instance. | |
sheetIndex | The one-based index of the spreadsheet sheet repre- |
sented by the KDSheet instance. | |
columns | A collection of data structures representing the |
columns of the spreadsheet. Each representative | |
column comprises a collection of data structures | |
that represent the rows in the column data. | |
Method | |
addCellReference | A method which takes in a reference to an instance |
of KDJCell and row and column identifiers to add | |
the reference to the KDJWorksheet.columns | |
collection. | |
getCell | A method which takes in row and column identifiers |
and returns a reference to the KDJCell instance | |
at that location. | |
getRange | A method which takes in top left row, top left |
column, bottom right row, bottom right column | |
identifiers and returns a reference to the | |
KDJRange instance at that location. | |
getValue | A method which takes in a native-type value such |
as a double, Boolean, or String and returns a | |
KDJValue instance initialized to the input value. | |
getCellValue | A method which takes in row and column identifiers |
to return the KDJValue instance representing the | |
value of the referenced KDJCell instance. | |
rowColToA1 | A method that takes in row and column identifiers and |
returns a String representing the row and column in | |
A1 notation. For example, the call rowColToA1(1,1) | |
would return the string “A1”. | |
Description | ||
Field | |
‘MyWorksheet’book | A reference to the instance of KDJBook that repre- |
sents the global aspects of the body of spreadsheet | |
data. | |
A1 | A reference to the KDJCell instance at row, column |
. . . | |
IVN | example, if the represented spreadsheet sheet |
contains a cell B3 that contains a literal value | |
rather than a cell formula, then the representative | |
‘MyWorksheet’sheet class will have a member | |
‘B3’ of type KDJCell. | |
Method | |
<<Constructor>> | Creates the parent-child relationship between the |
KDJWorkbook and KDJWorksheet. | |
B1e | A method which representing the formula contained |
. . . | in the cell and returns a resultant Value instance. For |
IUNe | example, if the represented spreadsheet sheet |
contains a cell B4 that contains a cell formula | |
rather than a literal value, then the repre- | |
sentative ‘MyWorksheet’sheet class will have a | |
member method ‘B4e’ that returns an instance of | |
KDJValue. | |
Description | ||
Field | |
Sheet | A reference to the instance of ‘MyWorksheet’sheet that |
represents the aspects of the spreadsheet sheet which con- | |
tains the spreadsheet cell represented by the current instance | |
of KDJCell. | |
Row | Read-only property containing the row of the represented |
spreadsheet cell. | |
Col | Read-only property containing the column of the repre- |
sented spreadsheet cell. | |
value | A reference to a KDJValue object that stores the text, |
numeric, Boolean, or error values for a cell. | |
persistent | An indicator of whether the current instance of KDCell |
should be marked as persistable. | |
hasFormula | An indicator of whether or not the cell has a formula |
associated with it. | |
dirtyCount | A numeric counter that keeps track of the cell's state. |
If the count on the cell is not equal to the dirtyCount on | |
the workbook, then the formula attached to the cell must be | |
recalculated. | |
Method | |
getValue | A method which returns the KDJValue of the KDJCell |
instance. If the KDJCell's dirtyCount is not equal to the | |
dirtyCount on the KDJWorkbook, then the formula is | |
recalculated on request, otherwise, a cached result is | |
returned. | |
setValue | Sets the value reference of the KDJCell instance. |
clear | A method which clears the KDJCell's value. |
getText | A method which returns the text representation of |
the KDJCell's KDJValue. | |
setText | A method that takes in a string and sets the KDJCell's |
KDJValue to the input string. | |
getNumber | A method which returns the numeric (double) repre- |
sentation of the KDJCell's KDJValue. | |
setNumber | A method that takes in a number (double) and sets the |
KDJCell's KDJValue to the input number. | |
getLogical | A method which returns the Boolean representation of the |
KDJCell's KDJValue. | |
setLogical | A method that takes in a Boolean and sets the KDJCell's |
KDJValue to the input Boolean value. | |
getError | A method which returns the Error representation of the |
KDJCell's KDJValue. | |
Description | ||
Field | |
topLeftRow | An identifier of the location of the KDJRange |
instance's top left row. | |
topLeftColumn | An identifier of the location of the KDJRange |
instance's top left column. | |
bottomRightRow | An identifier of the location of the KDJRange |
instance's bottom right row. | |
bottomRightColumn | An identifier of the location of the KDJRange |
instance's bottom right column. | |
type | An indicator of whether the represented spread- |
sheet name refers to a single spreadsheet cell or | |
a range of spreadsheet cells. One of cellType, | |
verticalVectorType, horizontalVectorType, | |
matrixType. | |
Method | |
equals | A method which takes in two references to |
KDJRange instances and compares them for | |
equality. | |
Description | ||
Field | |
number | A number (double) which stores the numeric representation |
of the KDJValue. | |
text | A string which stores the text representation of the |
KDJValue. | |
bool | A Boolean which stores the Boolean representation of |
the KDJValue. | |
error | A KDJException which stores an Errors associated with the |
KDJValue if there is one. | |
lastSet | An indicator that represents what type of value that was |
last set. One of noneType, numberType, textType, | |
booleanType, or errorType. | |
logicalValue | An indicator which stores whether the KDJValue represents |
a Boolean value or not. | |
reference | An indicator which stores whether the KDJValue is a |
reference to a KDJCell's KDJValue or not. | |
Method | |
compareTo | A method that takes in a KDJValue and performs a |
comparison of the current instance of the KDJValue with | |
another. It attempts to perform a numeric comparison and | |
returns −1 if the parameter is less than the value, 0 | |
is if it is equal to, or 1 if it is greater than. If it | |
cannot perform a numeric or Boolean comparison, it | |
performs a lexicographical comparison of the strings | |
based on Unicode character values. | |
clone | A method which makes a duplicate KDJValue object in a |
new memory space. | |
Description | ||
Field | |
type | An indicator that tells which type of error has occurred. The |
error types are NULL_ERR, DIV0_ERR, VALUE_ERR, | |
REF_ERR, NAME_ERR, and NA_ERR. | |
Method | |
In a preferred embodiment, KDJCalcException has no member | |
methods. | |
Description | ||
Field | |
compVal | A KDJValue instance which stores the value that is |
going to be compared. | |
comparison | The type of comparison being done, EQUAL, |
NOT_EQUAL, LESS_THAN, LESS_OR_EQUAL, | |
GREATER_THAN, or GREATER_OR_EQUAL. | |
Method | |
<<Constructor>> | A constructor that takes in a KDJValue object |
containing a string which has a comparison operator | |
and a value for example “>=4”. | |
GREATER_OR_EQUAL becomes the comparison | |
and compVal is 4. | |
compareTo | Compares the KDJValue instance to the compVal |
based on the comparison criteria and returns true if | |
the criteria are met. | |
Description | ||
Field | |
<<none>> | In a preferred embodiment, KDJFunctions has no fields. |
Method | |
Operators: | |
+ | Addition operator, returns the result of adding a number to a number. |
− | Subtraction operator, returns the result of a number subtracted from another |
number. | |
* | Multiplication operator, returns the result of multiplying a number by a number. |
/ | Division operator, returns the result of a number divided by a number. |
{circumflex over ( )} | Raise-to-the-power operator, returns the result of a number raised to a power |
% | Percent operator, returns the percent of a number (the number multiplied by |
0.01). | |
= | Equivalence comparator compares two values and returns TRUE if they are |
exactly the same, FALSE otherwise | |
> | Greater-than comparator, compares two values and returns TRUE if |
greater than |
|
< | Less-than comparator, compares two values and returns TRUE if |
than |
|
>= | Greater-than-or-equal-to comparator, compares two values and returns TRUE if |
|
|
<= | Less-than-or-equal-to comparator, compares two values and returns TRUE if |
|
|
<> | Not-equal comparator, compares two values and returns FALSE if the values are |
equal, TRUE otherwise | |
& | String join operator, joins two text strings into one text string and returns this |
string | |
Functions: | |
ABS | Returns the absolute value of a number |
ACOS | Returns the arccosine of a number |
ACOSH | Returns the inverse hyperbolic cosine of a number |
ADDRESS | Creates a cell address as text, given the specified row and colunm numbers |
AND | Returns TRUE if all arguments are true; otherwise, returns FALSE if one |
argument is false. | |
AREAS | Returns the number of areas in a reference |
ASIN | Returns the arcsine of a number |
ASINH | Returns the inverse hyperbolic sine of a number |
ATAN | Returns the arctangent of a number |
ATAN2 | Returns the arctangent from x- and y- coordinates |
ATANH | Returns the inverse hyperbolic tangent of a number |
AVEDEV | Returns the average of the absolute deviations of the list of arguments |
AVERAGE | The average of the values in a list. |
AVERAGEA | Mean with text treated as 0 except TRUE = 1 |
BETADIST | Returns the cumulative beta probability density function according to the |
specified parameters | |
BETAINV | Returns the inverse of the cumulative beta probability density function |
BINOMDIST | Returns the individual term binomial distribution probability |
CALL | Calls a procedure in a dynamic link library or code resource. |
CEILING | Rounds a number to the nearest integer or to the nearest multiple of significance |
CELL | Returns information about the formatting, location, or contents of the upper-left |
cell in a reference | |
CHAR | Returns the character specified by a number |
CHIDIST | Returns the one-tailed probability of the chi-squared distribution |
CHIINV | Returns the inverse of the one-tailed probability of the chi-squared distribution |
CHITEST | Returns the value from the chi-squared (γ2) distribution for the statistic and the |
appropriate degrees of freedom | |
CHOOSE | Return the value specified by index number from the list of value arguments |
CLEAN | Removes all nonprintable characters from text |
CODE | Returns a numeric code, which corresponds to the character set used by your |
computer, for the first character in a text string | |
COLUMN | Returns the column number of the given reference |
COLUMNS | Returns the number of columns in an array or reference |
COMBIN | Returns the number of combinations for a given number of objects |
CONCATENATE | Joins several text strings into one text string and returns this string |
CONFIDENCE | Returns the confidence interval for a population mean |
CORREL | Returns the correlation coefficient of the array1 and array2 cell ranges |
COS | Returns the cosine of a number |
COSH | Returns the hyperbolic cosine of a number |
COUNT | The number of items in a list. This is the default function for nonnumeric data. |
COUNTA | Counts the number of cells that are not empty and the values within the list of |
arguments | |
COUNTBLANK | Counts empty cells in a specified range of cells |
COUNTIF | Counts the number of nonblank cells within a range that meet the given criteria |
COVAR | Returns covariance, the average of the products of deviations for each data point |
pair in two data sets | |
CRITBINOM | Returns the smallest value for which the cumulative binomial distribution is |
greater than or equal to a criterion value | |
DATE | Returns the serial number that represents a particular date |
DATEVALUE | Returns the serial number of the date represented by the text argument |
DAVERAGE | Returns the average of selected database entries |
DAY | Returns the day of a date, represented by a serial number |
DAYS360 | Returns the number of days between two dates based on a 360-day year (twelve |
30-day months) | |
DB | Returns the depreciation of an asset for a specified period using the fixed- |
declining balance method. | |
DCOUNT | Counts the cells that contain numbers in a database |
DCOUNTA | Counts nonblank cells in a database |
DDB | Returns the depreciation of an asset for a specified period using the double- |
declining balance method or some other method you specify. | |
DEGREES | Converts radians into degrees. |
DEVSQ | Returns the sum of squares of deviations of the arguments from their sample |
mean | |
DGET | Extracts from a database a single record that matches the specified criteria |
DMAX | Returns the maximum value from selected database entries |
DMIN | Returns the minimum value from selected database entries |
DOLLAR | Converts a number to text using currency format, with the decimals rounded to |
the specified place | |
DPRODUCT | Multiplies the values in a particular field of records that match the criteria in a |
database | |
DSTDEV | Estimates the standard deviation based on a sample of selected database entries |
DSTDEVP | Calculates the standard deviation based on the entire population of selected |
database entries | |
DSUM | Adds the numbers in the field column of records in the database that match the |
criteria | |
DVAR | Estimates variance based on a sample from selected database entries |
DVARP | Calculates variance based on the entire population of selected database entries |
ERRORTYPE | Returns a number corresponding to one of the error values in KDJCalcException |
or returns the #N/A error if no error exists for the argument value | |
EVEN | Rounds a number up to the nearest even integer |
EXACT | Compares two text strings and returns TRUE if they are exactly the same, |
FALSE otherwise | |
EXP | Returns e raised to the power of a given number |
EXPONDIST | Returns the exponential distribution of a function |
FACT | Returns the factorial of a number |
FACTDOUBLE | Returns the double factorial of a number |
FALSE | Returns the logical value FALSE |
FDIST | Returns the F probability distribution |
FINV | Returns the inverse of the F probability distribution |
FISHER | Returns the Fisher transformation at x |
FISHERINV | Returns the inverse of the Fisher transformation |
FIND | FIND finds one text string (the first argument) within another text string (the |
second argument), and returns the number of the starting position of the first | |
argument, from the first character of the second argument | |
FIXED | Rounds a number to the specified number of decimals, formats the number in |
decimal format either using or not using a period and commas, and returns the | |
result as text | |
FLOOR | Rounds a number down, towards zero, to the nearest multiple of significance |
FORECAST | Calculates, or predicts, a future value by using existing values |
FREQUENCY | Calculates how often values occur within a range of values, and then returns a |
vertical array of numbers | |
FTEST | Returns the result of an F-test on the two array arguments |
FV | Returns the future value of an investment based on periodic, constant payments |
and a constant interest rate | |
GAMMADIST | Returns the gamma distribution |
GAMMAINV | Returns the inverse of the gamma cumulative distribution |
GAMMALN | Returns the natural logarithm of the gamma function, Γ(x), on argument x |
GCD | Returns the greatest common divisor |
GEOMEAN | Returns the geometric mean of an array or range of positive data |
GETPIVOTDATA | Returns data stored in a PivotTable |
GROWTH | Calculates predicted exponential growth by using existing data |
HARMEAN | Returns the harmonic mean of a data set |
HLOOKUP | Searches for the first argument value in the top row of the specified table or |
array of values, and then returns a value in the same column from a row you | |
specify in the table or array | |
HOUR | Returns the hour, in integer format ranging from 0 to 23, of a time value |
HYPGEOMDIST | Returns the probability of a given number of sample successes, given the sample |
size, population successes, and population size | |
IF | Returns 1st value if True, otherwise returns logical value FALSE |
IF | Returns 1st value if True, otherwise returns 2nd Value |
INDEX | Returns the value of a specified cell or array of cells within array |
INDEX | Returns the value of a specified cell or array of cells within array |
INDEX | Returns a reference to a specified cell or cells within reference |
INDIRECT | Returns the reference specified by the argument text string |
INFO | Returns information about the formatting, location, or contents of the upper-left |
cell in a reference | |
TNT | Rounds a number down to the nearest integer |
INTERCEPT | Calculates the point at which a line will intersect the y-axis by using existing x- |
values and y-values | |
IPMT | Returns the interest payment for a given period for an investment based on |
periodic, constant payments and a constant interest rate | |
IRR | Returns the internal rate of return for a series of cash flows represented by the |
numbers in the values of the argument | |
ISBLANK | Returns the logical value TRUE if the argument is a reference to an empty cell; |
otherwise it returns FALSE | |
ISERR | Returns the logical value TRUE if the argument is a reference to any error value |
except #N/A; otherwise it returns FALSE | |
ISERROR | Returns the logical value TRUE if the argument is a reference to any error value; |
otherwise it returns FALSE | |
ISLOGICAL | Returns the logical value TRUE if the argument is a reference to a logical value; |
otherwise it returns FALSE | |
ISNA | Returns the logical value TRUE if the argument is a reference to the #N/A error |
value; otherwise it returns FALSE | |
ISNONTEXT | Returns the logical value TRUE if the argument is a reference to any item that is |
not text; otherwise it returns FALSE | |
ISNUMBER | Returns the logical value TRUE if the argument is a reference to a number; |
otherwise it returns FALSE | |
ISPMT | Calculates the interest paid during a specific period of an investment |
ISREF | Returns the logical value TRUE if the argument is a reference to a reference; |
otherwise it returns FALSE | |
ISTEXT | Returns the logical value TRUE if the argument is a reference to text; otherwise |
it returns FALSE | |
KURT | Returns kurtosis of a data set. |
LARGE | Returns the k-th largest value in a data set, where the data set is specified by the |
first argument and the value of k by the second argument | |
LCM | Returns the least common multiple |
LEFT | Returns the first character or characters in the argument text string, based on the |
number of characters you specify | |
LEN | Returns the number of characters in the argument text string |
LINEST | Calculates the statistics for a line by using the “least squares” method to |
calculate a straight line that best fits your data, and returns an array that | |
describes the line | |
LN | Returns the natural logarithm of a number. |
LOG | Returns the logarithm of a number to the base 10 |
LOG | Returns the logarithm of a number to a specified base |
LOG10 | Returns the base-10 logarithm of a number |
LOGEST | Calculates an exponential curve that fits your data and returns an array of values |
that describes the curve | |
LOGINV | Returns the inverse of the lognormal cumulative distribution function of x, |
where ln(x) is normally distributed with parameters mean and standard_dev | |
LOGNORMDIST | Returns the cumulative lognormal distribution of x, where ln(x) is normally |
distributed with parameters mean and standard_dev | |
LOOKUP | Returns value from one-row, one-col range or an array. |
LOOKUP | Looks in a one-row or one-column range (known as a vector) for a value and |
returns a value from the same position in a second one-row or one-column range | |
LOWER | Converts all uppercase letters in the argument text string to lowercase |
MATCH | Returns the relative position of an item in an array that matches a specified value |
in a specified order | |
MAX | Returns the largest value in a set of values. Ignores logical values and text. |
MAXA | Returns the largest value in a set of values. Does not ignore logical values and |
text. | |
MDETERM | Returns the matrix determinant of an array |
MEDIAN | Returns the median of the given numbers |
MID | Returns a specific number of characters from the argument text string, starting at |
the specified position, based on the specified number of characters | |
MIN | Returns the smallest value in a set of values. Ignores logical values and text. |
MINA | Returns the smallest value in a set of values. Does not ignore logical values and |
text. | |
MINUTE | Returns the minutes, in integer format ranging from 0 to 59, of a time value |
MINVERSE | Returns the matrix inverse of an array |
MIRR | Returns the modified internal rate of return for a series of periodic cash flows |
MMULT | Returns the matrix product of two arrays |
MOD | Returns the remainder from division |
MODE | Returns the most frequently occurring value in an array or range of data |
MONTH | Returns the month, in integer format ranging from 0 to 12, of a date represented |
by a serial number | |
MROUND | Returns a number rounded to the desired multiple |
MULTINOMIAL | Returns the multinomial of a set of numbers |
N | Returns a value converted to a number |
NA | Returns the error value #N/A |
NEGBINOMDIST | Returns the probability that there will be number_f failures before the number_s- |
th success, when the constant probability of a success is probability_s | |
NORMDIST | Returns the normal cumulative distribution of the argument value for the |
specified mean and standard deviation | |
NORMINV | Returns the inverse of the normal cumulative distribution for the specified mean |
and standard deviation | |
NORMSDIST | Returns the standard normal cumulative distribution function for a value |
NORMSINV | Returns the inverse of the standard normal cumulative distribution |
NOT | Reverses the value of its argument |
NOW | Returns the serial number of the current date and time |
NPER | Returns the number of periods for an investment based on periodic, constant |
payments and a constant interest rate | |
NPV | Calculates the net present value of an investment by using a discount rate and a |
series of future payments (negative values) and income (positive values) | |
ODD | Rounds a number up to the nearest odd integer |
OFFSET | Returns a reference to a range that is a specified number of rows and columns |
from a cell or range of cells | |
OFFSET | Returns a reference to a range that is a specified number of rows and columns |
from a cell or range of cells and has a specified height | |
OFFSET | Returns a reference to a range that is a specified number of rows and columns |
from a cell or range of cells and has a specified height and width | |
OR | Returns TRUE if any argument is TRUE; returns FALSE if all arguments are |
FALSE | |
PEARSON | Returns the Pearson product moment correlation coefficient given two data sets |
PERCENTILE | Given a data range and a value k, returns the k-th percentile of values in the |
range | |
PERCENTRANK | Returns the rank of a value in a data set as a percentage of the data set |
PERMUT | Returns the number of permutations for a given number of objects that can be |
selected from number objects | |
PI | Returns the value of Pi |
PMT | Calculates the payment for a loan based on constant payments and a constant |
interest rate | |
POISSON | Returns the Poisson distribution |
POWER | Returns the result of a number raised to a power |
PPMT | Returns the payment on the principal for a given period for an investment based |
on periodic, constant payments and a constant interest rate | |
PROB | Returns the probability that values in a range are between two limits |
PRODUCT | Multiplies its arguments |
PROPER | Capitalizes the first letter in the given text string and any other letters in the text |
that follow any character other than a letter. Converts all other letters to | |
lowercase letters | |
PV | Returns the present value of an investment |
QUARTILE | Returns the specified quartile of a data set |
QUOTIENT | Returns the integer portion of a division |
RADIANS | Converts degrees to radians |
RAND | Returns a random number between 0 and 1 |
RANDBETWEEN | Returns a random number between the numbers you specify |
RANK | Returns the rank of a number in a list of numbers |
RATE | Returns the interest rate per period of an annuity |
REPLACE | Replaces part of a text string, based on the number of characters you specify, |
with a different text string | |
REPT | Returns the given text repeated the specified number of times |
RIGHT | Returns the last character or characters in a text string, based on the number of |
characters you specify | |
ROMAN | Converts an Arabic numeral to roman, as text |
ROUND | Rounds a number to a specified number of digits |
ROUNDDOWN | Rounds a number down, toward zero |
ROUNDUP | Rounds a number up, away from zero |
ROW | Returns the row number of a reference |
ROWS | Returns the number of rows in a reference or array |
RSQ | Returns the square of the Pearson product moment correlation coefficient |
through data points in the specified ranges of data points | |
SEARCH | Returns the number of the character at which a specific character or text string is |
first found, beginning with the specified number | |
SECOND | Returns the seconds of a time value |
SERIESSUM | Returns the sum of a power series based on the formula |
SIGN | Returns the sign of a number |
SIN | Returns the sine of the given angle |
SINH | Returns the hyperbolic sine of a number |
SKEW | Returns the skewness of a distribution |
SLN | Returns the straight-line depreciation of an asset for one period |
SLOPE | Returns the slope of the linear regression line through data points in the specified |
ranges of data points | |
SMALL | Given a data set and a value k, returns the k-th smallest value in the data set |
SQRT | Returns a positive square root |
SQRTPI | Returns the square root of (number * Pi) |
STANDARDIZE | Returns a normalized value from a distribution characterized by mean and |
standard deviation | |
STDEV | Estimates standard deviation based on a sample |
STDEVA | Estimates standard deviation based on a sample, and includes all text and logical |
values in its calculation | |
STDEVP | Calculates standard deviation based on the entire population given as arguments |
STDEVPA | Calculates standard deviation based on the entire population given as arguments, |
including text and logical values | |
STEYX | Given a range of dependent data points(y's) and a range of independent data |
points(x's), returns the standard error of the predicted y-value for each x in the | |
regression | |
SUBSTITUTE | Substitutes new text for old text in a given text string |
SUBTOTAL | Returns a subtotal in a list or database |
SUM | The sum of the values in a list. This is the default function for numeric data. |
SUMIF | Adds the cells specified by a given criteria |
SUMIF | Adds the cells coinciding with the cells specified by a given criteria |
SUMPRODUCT | Returns the sum of the products of corresponding array components |
SUMSQ | Returns the sum of the squares of the arguments |
SUMX2MY2 | Returns the sum of the difference of squares of corresponding values in two |
arrays | |
SUMX2PY2 | Returns the sum of the sum of squares of corresponding values in two arrays |
SUMXMY2 | Returns the sum of squares of differences of corresponding values in two arrays |
SYD | Returns the sum-of-years' digits depreciation of an asset for a specified period |
T | Returns the text referred to by the given value |
TAN | Returns the tangent of a number |
TANH | Returns the hyperbolic tangent of a number |
TDIST | Returns the Percentage Points (probability) for the Student t-distribution where a |
numeric value (x) is a calculated value of t for which the Percentage Points are to | |
be computed | |
TEXT | Converts a given value to text in a specific number format |
TIME | Returns the decimal number for a particular time represented by an hour, minute, |
and second value | |
TIMEVALUE | Returns the decimal number of the time represented by a text string |
TINV | Returns the t-value of the Student's t-distribution as a function of the probability |
and the degrees of freedom | |
TODAY | Returns the serial number of the current date |
TRANSPOSE | Returns a vertical range of cells as a horizontal range, or vice versa |
TREND | Fits a straight line (using the method of least squares) to the given arrays of y- |
values and x-values. Returns the y-values along that line for the array of new x | |
values that you specify | |
TRIM | Truncates a number to an integer by removing the fractional part of the number |
TRIMMEAN | Returns the mean of the interior of a data set |
TRUE | Returns the logical value TRUE |
TRUNC | Truncates a number to an integer |
TTEST | Returns the probability associated with a Student's t-Test |
TYPE | Returns the type of a value |
UPPER | Converts the given text to uppercase |
VALUE | Converts a text string that represents a number into a number. |
VAR | Estimates variance based on a sample |
VARA | Estimates variance based on a sample, and includes all text and logical values in |
its calculation | |
VARP | Calculates variance based on the entire population given as arguments |
VARPA | Calculates variance based on the entire population given as arguments, including |
text and logical values | |
VDB | Returns the depreciation of an asset for any period you specify, including partial |
periods, using the double-declining balance method or some other method you | |
specify | |
VLOOKUP | Searches for a value in the leftmost column of a table, and then returns a value in |
the same row from a column you specify in the table | |
VLOOKUP | Searches for a value in the leftmost column of a table, and then returns a value in |
the same row from a column you specify in the table. If range_lookup is | |
FALSE, an exact match will be found. If range_lookup is TRUE, an | |
approximate match will be found. | |
WEEKDAY | Returns the day of the week corresponding to a given date |
WEIBULL | Returns the Weibull distribution |
YEAR | Returns the year corresponding to a given date |
ZTEST | Returns the two-tailed P-value of a z-test |
Description | ||
Field | |
<<none>> | In a preferred embodiment, |
KDJUserDefinedFunctionLibrary has no fields. | |
Method | |
DollarToWords | A function for converting a currency amount to a word |
representation for use in printing checks. For example, | |
(123.45) would return ‘One Hundred Twenty Three | |
Dollars and Forty Five Cents’. | |
. . . | A multitude of unanticipated user-defined functions can |
be defined and made available for use by KDJCell | |
formulas. | |
Claims (23)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/222,730 US7010779B2 (en) | 2001-08-16 | 2002-08-15 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US11/301,734 US7836425B2 (en) | 2001-08-16 | 2005-12-12 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US12/901,875 US8209661B2 (en) | 2001-08-16 | 2010-10-11 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US13/464,599 US8656348B2 (en) | 2001-08-16 | 2012-05-04 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US14/150,465 US20140149962A1 (en) | 2001-08-16 | 2014-01-08 | Parser, Code Generator, and Data Calculation and Transformation Engine for Spreadsheet Calculations |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31298101P | 2001-08-16 | 2001-08-16 | |
US10/222,730 US7010779B2 (en) | 2001-08-16 | 2002-08-15 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/301,734 Continuation US7836425B2 (en) | 2001-08-16 | 2005-12-12 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030106040A1 US20030106040A1 (en) | 2003-06-05 |
US7010779B2 true US7010779B2 (en) | 2006-03-07 |
Family
ID=26917087
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/222,730 Expired - Fee Related US7010779B2 (en) | 2001-08-16 | 2002-08-15 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US11/301,734 Expired - Fee Related US7836425B2 (en) | 2001-08-16 | 2005-12-12 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US12/901,875 Expired - Fee Related US8209661B2 (en) | 2001-08-16 | 2010-10-11 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US13/464,599 Expired - Fee Related US8656348B2 (en) | 2001-08-16 | 2012-05-04 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US14/150,465 Abandoned US20140149962A1 (en) | 2001-08-16 | 2014-01-08 | Parser, Code Generator, and Data Calculation and Transformation Engine for Spreadsheet Calculations |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/301,734 Expired - Fee Related US7836425B2 (en) | 2001-08-16 | 2005-12-12 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US12/901,875 Expired - Fee Related US8209661B2 (en) | 2001-08-16 | 2010-10-11 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US13/464,599 Expired - Fee Related US8656348B2 (en) | 2001-08-16 | 2012-05-04 | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US14/150,465 Abandoned US20140149962A1 (en) | 2001-08-16 | 2014-01-08 | Parser, Code Generator, and Data Calculation and Transformation Engine for Spreadsheet Calculations |
Country Status (1)
Country | Link |
---|---|
US (5) | US7010779B2 (en) |
Cited By (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040250235A1 (en) * | 2003-06-09 | 2004-12-09 | Sun Microsystems, Inc. | Methods and apparatus for enhanced statistical performance |
US20040250234A1 (en) * | 2003-06-09 | 2004-12-09 | Sun Microsystems, Inc. | Systems and methods for software performance tuning |
US20040255238A1 (en) * | 2003-06-13 | 2004-12-16 | Alexander Bushel | Optimizer of interdependent information |
US20050010862A1 (en) * | 2003-04-18 | 2005-01-13 | International Business Machines Corporation | Method and system for manipulating labelled data for data entry in management applications |
US20050021655A1 (en) * | 2003-06-09 | 2005-01-27 | Sun Microsystems, Inc. | System for efficiently acquiring and sharing runtime statistics |
US20050028136A1 (en) * | 2003-07-31 | 2005-02-03 | Woodley Ronald Craig | System and method for generating an executable procedure |
US20050138610A1 (en) * | 2004-02-02 | 2005-06-23 | Fujitsu Limited | Compiler program, compiler program recording medium, compile method, and program processing system |
US20050180640A1 (en) * | 2004-02-12 | 2005-08-18 | International Business Machines Corporation | Method and apparatus for presenting a summary of selected values |
US20050203876A1 (en) * | 2003-06-20 | 2005-09-15 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US20050256825A1 (en) * | 2003-06-20 | 2005-11-17 | International Business Machines Corporation | Viewing annotations across multiple applications |
US20060069993A1 (en) * | 2004-09-27 | 2006-03-30 | Microsoft Corporation | Method and system for multithread processing of spreadsheet chain calculations |
US20060161844A1 (en) * | 2005-01-14 | 2006-07-20 | Microsoft Corporation | System and method for a spreadsheet application supporting diverse formulaic functions |
US20060224946A1 (en) * | 2005-03-31 | 2006-10-05 | International Business Machines Corporation | Spreadsheet programming |
US20070136654A1 (en) * | 2005-12-12 | 2007-06-14 | Peters Johan C | Method and system for ordered resizing columns in a table |
US20070214111A1 (en) * | 2006-03-10 | 2007-09-13 | International Business Machines Corporation | System and method for generating code for an integrated data system |
US20080147707A1 (en) * | 2006-12-13 | 2008-06-19 | International Business Machines Corporation | Method and apparatus for using set based structured query language (sql) to implement extract, transform, and load (etl) splitter operation |
US20080196001A1 (en) * | 2007-02-13 | 2008-08-14 | Hicks Scott D | Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets |
WO2008097332A2 (en) * | 2006-12-19 | 2008-08-14 | Enterprise Electronics Corporation | System and method for synthesizing date in a radar system |
US20080222509A1 (en) * | 2007-03-08 | 2008-09-11 | Huy Nguyen | Method and system for converting a source spreadsheet to a target spreadsheet |
US20080233927A1 (en) * | 2002-03-19 | 2008-09-25 | Mapinfo Corporation | Location based service provider |
US20080243823A1 (en) * | 2007-03-28 | 2008-10-02 | Elumindata, Inc. | System and method for automatically generating information within an eletronic document |
US20080244508A1 (en) * | 2007-04-02 | 2008-10-02 | Business Objects, S.A. | Apparatus and method for generating spreadsheet function source code for use in a source code application |
US20080256062A1 (en) * | 2004-05-13 | 2008-10-16 | International Business Machines Corporation | Method and system for propagating annotations using pattern matching |
US7523395B1 (en) * | 2003-05-30 | 2009-04-21 | Oracle International Corporation | Web application generator for spreadsheet calculators |
US20090172553A1 (en) * | 2007-12-31 | 2009-07-02 | Sap Ag | Spreadsheet Software Services |
US20090254576A1 (en) * | 2008-04-03 | 2009-10-08 | Elumindata, Inc. | System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure |
US7627852B1 (en) * | 2006-01-17 | 2009-12-01 | Xilinx, Inc. | Embedding an interpreter within an application written in a different programming language |
US20100023501A1 (en) * | 2008-07-22 | 2010-01-28 | Elumindata, Inc. | System and method for automatically selecting a data source for providing data related to a query |
US20100269092A1 (en) * | 2009-04-20 | 2010-10-21 | Exigen Properties, Inc. | Systems, Methods and Machine Readable Mediums for Defining and Executing New Commands in a Spreadsheet Software Application |
US20100281466A1 (en) * | 2007-12-19 | 2010-11-04 | Antonio Remollino | Process for verifying computer codes and corresponding verification system |
US8032821B2 (en) | 2006-05-08 | 2011-10-04 | Microsoft Corporation | Multi-thread spreadsheet processing with dependency levels |
US8037062B2 (en) | 2008-07-22 | 2011-10-11 | Elumindata, Inc. | System and method for automatically selecting a data source for providing data related to a query |
US8041712B2 (en) | 2008-07-22 | 2011-10-18 | Elumindata Inc. | System and method for automatically selecting a data source for providing data related to a query |
US20120030598A1 (en) * | 2010-07-28 | 2012-02-02 | Sap Ag | Decision aiding user interfaces |
US8176042B2 (en) | 2008-07-22 | 2012-05-08 | Elumindata, Inc. | System and method for automatically linking data sources for providing data related to a query |
US20120131546A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Code deployment assistance |
CN101067785B (en) * | 2007-06-08 | 2013-02-27 | 深圳市中兴移动通信有限公司 | Inserting platform-based resource management method and system |
WO2013075044A1 (en) * | 2011-11-17 | 2013-05-23 | Entercalc, Inc. | Business content authoring and distribution |
USD702256S1 (en) * | 2012-05-30 | 2014-04-08 | Microsoft Corporation | Display screen with graphical user interface |
USD702255S1 (en) * | 2012-05-30 | 2014-04-08 | Microsoft Corporation | Display screen with graphical user interface |
US20140223276A1 (en) * | 2004-10-07 | 2014-08-07 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US8903762B2 (en) | 2007-01-09 | 2014-12-02 | International Business Machines Corporation | Modeling data exchange in a data flow of an extract, transform, and load (ETL) process |
US20140359417A1 (en) * | 2013-06-04 | 2014-12-04 | Omer Bar-On | Systems and methods for graphically modulating structured data |
US8972930B2 (en) | 2010-06-04 | 2015-03-03 | Microsoft Corporation | Generating text manipulation programs using input-output examples |
US9123093B1 (en) | 2008-08-29 | 2015-09-01 | Cognex Corporation | Vision inspection programming method and apparatus |
US20160044107A1 (en) * | 2014-08-07 | 2016-02-11 | Michael Acker | High speed communication protocol |
US9286286B1 (en) * | 2015-01-03 | 2016-03-15 | Chahid Kamel Ghaddar | Method, apparatus, and computer program product for optimizing parameterized models using functional paradigm of spreadsheet software |
US20160132297A1 (en) * | 2013-06-11 | 2016-05-12 | Smart Research Limited | Method and computer program for generating or manipulating source code |
US9361137B2 (en) | 2006-03-10 | 2016-06-07 | International Business Machines Corporation | Managing application parameters based on parameter types |
US9552335B2 (en) | 2012-06-04 | 2017-01-24 | Microsoft Technology Licensing, Llc | Expedited techniques for generating string manipulation programs |
US9558222B1 (en) * | 2012-05-04 | 2017-01-31 | Google Inc. | Blended ranking of dissimilar populations using an N-furcated normalization technique |
US9613115B2 (en) | 2010-07-12 | 2017-04-04 | Microsoft Technology Licensing, Llc | Generating programs based on input-output examples using converter modules |
US20170249246A1 (en) * | 2015-03-13 | 2017-08-31 | Hitachi Data Systems Corporation | Deduplication and garbage collection across logical databases |
US9811513B2 (en) | 2003-12-09 | 2017-11-07 | International Business Machines Corporation | Annotation structure type determination |
EP3370163A1 (en) * | 2017-03-02 | 2018-09-05 | Palantir Technologies Inc. | Automatic translation of spreadsheets into source code scripts |
US20200081968A1 (en) * | 2018-09-11 | 2020-03-12 | Apple Inc. | Exploded-range references |
US10671353B2 (en) | 2018-01-31 | 2020-06-02 | Microsoft Technology Licensing, Llc | Programming-by-example using disjunctive programs |
US10831451B2 (en) * | 2017-12-01 | 2020-11-10 | Microsoft Technology Licensing, Llc | Synthesized programming-by-example programs |
US10846298B2 (en) | 2016-10-28 | 2020-11-24 | Microsoft Technology Licensing, Llc | Record profiling for dataset sampling |
US11003427B2 (en) | 2018-09-28 | 2021-05-11 | Salesforce.Com, Inc. | Interface for generating and testing formulas using a formula language |
US11010143B2 (en) * | 2018-09-28 | 2021-05-18 | Salesforce.Com, Inc. | Executing formulas written using formula language |
US11256710B2 (en) | 2016-10-20 | 2022-02-22 | Microsoft Technology Licensing, Llc | String transformation sub-program suggestion |
US11620304B2 (en) | 2016-10-20 | 2023-04-04 | Microsoft Technology Licensing, Llc | Example management for string transformation |
US11886916B2 (en) | 2020-06-30 | 2024-01-30 | Microsoft Technology Licensing, Llc | System for adaptive multithreaded recalculation operations |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542880B2 (en) * | 1998-12-22 | 2003-04-01 | Indeliq, Inc. | System, method and article of manufacture for a goal based system utilizing a table based architecture |
US6782374B2 (en) * | 1998-12-22 | 2004-08-24 | Accenture Global Services Gmbh | System, method and article of manufacturing for a runtime program analysis tool for a simulation engine |
US7770102B1 (en) | 2000-06-06 | 2010-08-03 | Microsoft Corporation | Method and system for semantically labeling strings and providing actions based on semantically labeled strings |
US7712024B2 (en) | 2000-06-06 | 2010-05-04 | Microsoft Corporation | Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings |
US7788602B2 (en) | 2000-06-06 | 2010-08-31 | Microsoft Corporation | Method and system for providing restricted actions for recognized semantic categories |
US7716163B2 (en) | 2000-06-06 | 2010-05-11 | Microsoft Corporation | Method and system for defining semantic categories and actions |
US7778816B2 (en) | 2001-04-24 | 2010-08-17 | Microsoft Corporation | Method and system for applying input mode bias |
AU2003243146A1 (en) * | 2002-04-19 | 2003-11-03 | Computer Associates Think, Inc. | System and method for client-side locale specific numeric format handling in a web environment |
US7707496B1 (en) | 2002-05-09 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings |
US7707024B2 (en) * | 2002-05-23 | 2010-04-27 | Microsoft Corporation | Method, system, and apparatus for converting currency values based upon semantically labeled strings |
US7742048B1 (en) | 2002-05-23 | 2010-06-22 | Microsoft Corporation | Method, system, and apparatus for converting numbers based upon semantically labeled strings |
US7827546B1 (en) | 2002-06-05 | 2010-11-02 | Microsoft Corporation | Mechanism for downloading software components from a remote source for use by a local software application |
US7356537B2 (en) | 2002-06-06 | 2008-04-08 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
US7716676B2 (en) | 2002-06-25 | 2010-05-11 | Microsoft Corporation | System and method for issuing a message to a program |
US7209915B1 (en) | 2002-06-28 | 2007-04-24 | Microsoft Corporation | Method, system and apparatus for routing a query to one or more providers |
US7316011B1 (en) * | 2002-10-10 | 2008-01-01 | Microsoft Corporation | Memory reduction for object-oriented compilers |
US20040111666A1 (en) * | 2002-12-05 | 2004-06-10 | Hollcraft James G. | Software replicator functions for generating reports |
US7783614B2 (en) | 2003-02-13 | 2010-08-24 | Microsoft Corporation | Linking elements of a document to corresponding fields, queries and/or procedures in a database |
US7624372B1 (en) * | 2003-04-16 | 2009-11-24 | The Mathworks, Inc. | Method for integrating software components into a spreadsheet application |
US7711550B1 (en) | 2003-04-29 | 2010-05-04 | Microsoft Corporation | Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names |
US7739588B2 (en) | 2003-06-27 | 2010-06-15 | Microsoft Corporation | Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data |
US7233956B2 (en) * | 2003-08-12 | 2007-06-19 | International Business Machines Corporation | Method and apparatus for data migration between databases |
US8600845B2 (en) * | 2006-10-25 | 2013-12-03 | American Express Travel Related Services Company, Inc. | System and method for reconciling one or more financial transactions |
US20060101391A1 (en) * | 2004-10-19 | 2006-05-11 | Markus Ulke | Spreadsheet application builder |
US7716231B2 (en) * | 2004-11-10 | 2010-05-11 | Microsoft Corporation | System and method for generating suggested alternatives for visual or audible submissions |
KR100683853B1 (en) * | 2005-02-04 | 2007-02-16 | 삼성전기주식회사 | Pre-compiling device |
US20060184914A1 (en) * | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Random code generation |
US8055995B2 (en) * | 2005-03-11 | 2011-11-08 | Orangescape Technologies Limited | System and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface |
US7148824B1 (en) * | 2005-08-05 | 2006-12-12 | Xerox Corporation | Automatic detection of character encoding format using statistical analysis of the text strings |
US8099674B2 (en) | 2005-09-09 | 2012-01-17 | Tableau Software Llc | Computer systems and methods for automatically viewing multidimensional databases |
US7992085B2 (en) | 2005-09-26 | 2011-08-02 | Microsoft Corporation | Lightweight reference user interface |
US7788590B2 (en) | 2005-09-26 | 2010-08-31 | Microsoft Corporation | Lightweight reference user interface |
JP4140919B2 (en) * | 2006-03-14 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for performing processing such as spreadsheet |
US8082489B2 (en) * | 2006-04-20 | 2011-12-20 | Oracle International Corporation | Using a spreadsheet engine as a server-side calculation model |
US8185556B2 (en) * | 2006-09-11 | 2012-05-22 | The Mathworks, Inc. | Computer-implemented processing of hetrogeneous data |
US7865872B2 (en) * | 2006-12-01 | 2011-01-04 | Murex S.A.S. | Producer graph oriented programming framework with undo, redo, and abort execution support |
US8191052B2 (en) | 2006-12-01 | 2012-05-29 | Murex S.A.S. | Producer graph oriented programming and execution |
US8307337B2 (en) | 2006-12-01 | 2012-11-06 | Murex S.A.S. | Parallelization and instrumentation in a producer graph oriented programming framework |
US8332827B2 (en) | 2006-12-01 | 2012-12-11 | Murex S.A.S. | Produce graph oriented programming framework with scenario support |
US8335714B2 (en) * | 2007-05-31 | 2012-12-18 | International Business Machines Corporation | Identification of users for advertising using data with missing values |
US10706429B2 (en) * | 2007-05-31 | 2020-07-07 | International Business Machines Corporation | Identification of users for advertising purposes |
US8407668B2 (en) * | 2007-10-26 | 2013-03-26 | Microsoft Corporation | Model based spreadsheet scripting language |
US8006175B2 (en) * | 2007-10-29 | 2011-08-23 | Microsoft Corporation | Calculation of spreadsheet data |
US20100228804A1 (en) * | 2009-03-04 | 2010-09-09 | Yahoo! Inc. | Constructing image captchas utilizing private information of the images |
US8612438B2 (en) * | 2008-06-13 | 2013-12-17 | Microsoft Corporation | Techniques for dynamic cross-filtering |
US20100010881A1 (en) * | 2008-07-13 | 2010-01-14 | William Chen | Using a Conflict of Interest Method and System with Regression Analysis for Analyzing Portfolio Manager Performance |
US20100070347A1 (en) * | 2008-07-13 | 2010-03-18 | William Chen | Using Conflict of Interest [COI] Method and System in Creating Investment Portfolio |
US8296748B2 (en) * | 2008-07-24 | 2012-10-23 | Intel Corporation | Method and system for intermediate representation of source code |
US8601438B2 (en) * | 2008-11-17 | 2013-12-03 | Accenture Global Services Limited | Data transformation based on a technical design document |
US9292485B2 (en) | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Extracting data cell transformable to model object |
US9292592B2 (en) | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Object-based modeling using composite model object having independently updatable component objects |
US9009006B2 (en) | 2009-05-29 | 2015-04-14 | Red Hat, Inc. | Generating active links between model objects |
US8930487B2 (en) * | 2009-05-29 | 2015-01-06 | Red Hat, Inc. | Object-based modeling using model objects exportable to external modeling tools |
US9105006B2 (en) * | 2009-05-29 | 2015-08-11 | Red Hat, Inc. | Generating floating desktop representation of extracted model object |
US8676808B2 (en) | 2009-07-09 | 2014-03-18 | Dillon Software Services, Llc | Data store interface that facilitates distribution of application functionality across a multi-tier client-server architecture |
US20110054854A1 (en) * | 2009-08-31 | 2011-03-03 | Eric Williamson | Systems and methods for generating dimensionally altered model objects |
US9152944B2 (en) | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating rapidly rotatable dimensional view of data objects |
US9152435B2 (en) | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating a set of linked rotational views of model objects |
US8832676B2 (en) * | 2009-09-30 | 2014-09-09 | Zynga Inc. | Apparatuses, methods and systems for a social networking application updater |
RU2527754C2 (en) * | 2010-04-23 | 2014-09-10 | Нтт Докомо, Инк. | System for generating statistical information and method of generating statistical information |
US8365143B2 (en) * | 2010-06-15 | 2013-01-29 | Microsoft Corporation | Dynamic languages for static hosts |
US8499290B2 (en) | 2010-06-15 | 2013-07-30 | Microsoft Corporation | Creating text functions from a spreadsheet |
US20110314365A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Decompiling loops in a spreadsheet |
US8745581B2 (en) * | 2010-06-21 | 2014-06-03 | Touch Technologies, Inc. | Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste |
US8793566B2 (en) * | 2010-11-10 | 2014-07-29 | Duquesne University Of The Holy Spirit | System and method for allocating, scheduling, tracking and reporting usage of training assets and facilities |
US9298687B2 (en) * | 2010-11-29 | 2016-03-29 | Red Hat, Inc. | Automatic spreadsheet formula output validation |
CN102541917B (en) * | 2010-12-23 | 2015-04-08 | 国际商业机器公司 | Method and system for verifying web page layout |
US9158893B2 (en) | 2012-02-17 | 2015-10-13 | Shape Security, Inc. | System for finding code in a data flow |
US9208082B1 (en) * | 2012-03-23 | 2015-12-08 | David R. Cheriton | Hardware-supported per-process metadata tags |
US10140278B2 (en) * | 2012-03-26 | 2018-11-27 | Adobe Systems Incorporated | Computer-implemented methods and systems for associating files with cells of a collaborative spreadsheet |
EP2645271A4 (en) * | 2012-04-19 | 2014-10-01 | Huawei Tech Co Ltd | Method and device for graphical management of form |
US9400639B2 (en) * | 2012-06-22 | 2016-07-26 | Microsoft Technology Licensing, Llc | Generating programs using context-free compositions and probability of determined transformation rules |
US20140075278A1 (en) * | 2012-09-12 | 2014-03-13 | International Business Machines Coporation | Spreadsheet schema extraction |
US9633076B1 (en) | 2012-10-15 | 2017-04-25 | Tableau Software Inc. | Blending and visualizing data from multiple data sources |
GB2508826A (en) * | 2012-12-11 | 2014-06-18 | Ariadne Insight Ltd | A framework for enabling user-defined functions in a spreadsheet application |
US20170000359A1 (en) * | 2013-02-22 | 2017-01-05 | Cloud Ds, Inc., a corporation of Delaware | Comprehensive body vital sign monitoring system |
CN103116500A (en) * | 2013-03-11 | 2013-05-22 | 北京首钢自动化信息技术有限公司 | Method and device for structural body definition and structure output |
US9338143B2 (en) | 2013-03-15 | 2016-05-10 | Shape Security, Inc. | Stateless web content anti-automation |
US9178908B2 (en) | 2013-03-15 | 2015-11-03 | Shape Security, Inc. | Protecting against the introduction of alien content |
US20140283038A1 (en) | 2013-03-15 | 2014-09-18 | Shape Security Inc. | Safe Intelligent Content Modification |
US9225737B2 (en) | 2013-03-15 | 2015-12-29 | Shape Security, Inc. | Detecting the introduction of alien content |
US9417890B2 (en) | 2013-04-12 | 2016-08-16 | Microsoft Technology Licensing, Llc | Compilation of transformation in recalculation user interface |
CN103279358B (en) * | 2013-06-08 | 2016-04-27 | 北京首钢自动化信息技术有限公司 | A kind of explanation type Service Component dynamic fixing method of Industry-oriented application |
US8954583B1 (en) | 2014-01-20 | 2015-02-10 | Shape Security, Inc. | Intercepting and supervising calls to transformed operations and objects |
US9027142B1 (en) | 2014-01-21 | 2015-05-05 | Shape Security, Inc. | Dynamic field re-rendering |
US8893294B1 (en) | 2014-01-21 | 2014-11-18 | Shape Security, Inc. | Flexible caching |
US9225729B1 (en) | 2014-01-21 | 2015-12-29 | Shape Security, Inc. | Blind hash compression |
US9489526B1 (en) | 2014-01-21 | 2016-11-08 | Shape Security, Inc. | Pre-analyzing served content |
US8997226B1 (en) | 2014-04-17 | 2015-03-31 | Shape Security, Inc. | Detection of client-side malware activity |
US10133996B2 (en) * | 2014-04-22 | 2018-11-20 | International Business Machines Corporation | Object lifecycle analysis tool |
US9477836B1 (en) | 2014-04-23 | 2016-10-25 | Shape Security, Inc. | Content modification in served code |
US9348561B2 (en) * | 2014-05-21 | 2016-05-24 | InvestCloud, Inc | Tabular format transaction editor |
US9411958B2 (en) | 2014-05-23 | 2016-08-09 | Shape Security, Inc. | Polymorphic treatment of data entered at clients |
US9858440B1 (en) | 2014-05-23 | 2018-01-02 | Shape Security, Inc. | Encoding of sensitive data |
US9405910B2 (en) | 2014-06-02 | 2016-08-02 | Shape Security, Inc. | Automatic library detection |
US10089216B2 (en) | 2014-06-30 | 2018-10-02 | Shape Security, Inc. | Automatically determining whether a page of a web site is broken despite elements on the page that may change |
US9075990B1 (en) | 2014-07-01 | 2015-07-07 | Shape Security, Inc. | Reliable selection of security countermeasures |
US9003511B1 (en) | 2014-07-22 | 2015-04-07 | Shape Security, Inc. | Polymorphic security policy action |
US9983869B2 (en) | 2014-07-31 | 2018-05-29 | The Mathworks, Inc. | Adaptive interface for cross-platform component generation |
US9825984B1 (en) | 2014-08-27 | 2017-11-21 | Shape Security, Inc. | Background analysis of web content |
US9602543B2 (en) | 2014-09-09 | 2017-03-21 | Shape Security, Inc. | Client/server polymorphism using polymorphic hooks |
US9438625B1 (en) | 2014-09-09 | 2016-09-06 | Shape Security, Inc. | Mitigating scripted attacks using dynamic polymorphism |
US10298599B1 (en) | 2014-09-19 | 2019-05-21 | Shape Security, Inc. | Systems for detecting a headless browser executing on a client computer |
US9800602B2 (en) | 2014-09-30 | 2017-10-24 | Shape Security, Inc. | Automated hardening of web page content |
US9529994B2 (en) | 2014-11-24 | 2016-12-27 | Shape Security, Inc. | Call stack integrity check on client/server systems |
US9792095B2 (en) * | 2014-11-25 | 2017-10-17 | Symbol Technologies, Llc | Apparatus and method for converting a procedure manual to an automated program |
CN104536946B (en) * | 2014-12-08 | 2018-03-27 | 广东欧珀移动通信有限公司 | A kind of form generation method and terminal |
US9825995B1 (en) | 2015-01-14 | 2017-11-21 | Shape Security, Inc. | Coordinated application of security policies |
US9772988B2 (en) | 2015-02-27 | 2017-09-26 | Microsoft Technology Licensing, Llc | Finding unique formula sets in spreadsheets |
US9813440B1 (en) | 2015-05-15 | 2017-11-07 | Shape Security, Inc. | Polymorphic treatment of annotated content |
US9986058B2 (en) | 2015-05-21 | 2018-05-29 | Shape Security, Inc. | Security systems for mitigating attacks from a headless browser executing on a client computer |
WO2017007705A1 (en) | 2015-07-06 | 2017-01-12 | Shape Security, Inc. | Asymmetrical challenges for web security |
US10230718B2 (en) | 2015-07-07 | 2019-03-12 | Shape Security, Inc. | Split serving of computer code |
US11294924B1 (en) * | 2015-07-16 | 2022-04-05 | Tableau Software, Inc. | Systems and methods for using multiple aggregation levels in a single data visualization |
US9807113B2 (en) | 2015-08-31 | 2017-10-31 | Shape Security, Inc. | Polymorphic obfuscation of executable code |
US10078628B2 (en) * | 2015-10-22 | 2018-09-18 | Hrb Innovations, Inc. | Annotation-based dependency calculations |
US10375026B2 (en) | 2015-10-28 | 2019-08-06 | Shape Security, Inc. | Web transaction status tracking |
US9917850B2 (en) | 2016-03-03 | 2018-03-13 | Shape Security, Inc. | Deterministic reproduction of client/server computer state or output sent to one or more client computers |
US10567363B1 (en) | 2016-03-03 | 2020-02-18 | Shape Security, Inc. | Deterministic reproduction of system state using seeded pseudo-random number generators |
US10129289B1 (en) | 2016-03-11 | 2018-11-13 | Shape Security, Inc. | Mitigating attacks on server computers by enforcing platform policies on client computers |
US10216488B1 (en) | 2016-03-14 | 2019-02-26 | Shape Security, Inc. | Intercepting and injecting calls into operations and objects |
CN107229616B (en) * | 2016-03-25 | 2020-10-16 | 阿里巴巴集团控股有限公司 | Language identification method, device and system |
US11620315B2 (en) | 2017-10-09 | 2023-04-04 | Tableau Software, Inc. | Using an object model of heterogeneous data to facilitate building data visualizations |
US10705805B1 (en) | 2017-12-12 | 2020-07-07 | Amazon Technologies, Inc. | Application authoring using web-of-sheets data model |
US11586603B1 (en) | 2018-05-23 | 2023-02-21 | Amazon Technologies, Inc. | Index sheets for robust spreadsheet-based applications |
US20200125559A1 (en) | 2018-10-22 | 2020-04-23 | Tableau Software, Inc. | Generating data visualizations according to an object model of selected data sources |
US11386108B2 (en) | 2018-12-04 | 2022-07-12 | International Business Machines Corporation | Mining data transformation flows in spreadsheets |
US10996835B1 (en) | 2018-12-14 | 2021-05-04 | Tableau Software, Inc. | Data preparation user interface with coordinated pivots |
US11409502B2 (en) * | 2019-05-06 | 2022-08-09 | Bank Of America Corporation | Intelligent controls for end-user computing |
US11030256B2 (en) | 2019-11-05 | 2021-06-08 | Tableau Software, Inc. | Methods and user interfaces for visually analyzing data visualizations with multi-row calculations |
US10997217B1 (en) | 2019-11-10 | 2021-05-04 | Tableau Software, Inc. | Systems and methods for visualizing object models of database tables |
US11366858B2 (en) | 2019-11-10 | 2022-06-21 | Tableau Software, Inc. | Data preparation using semantic roles |
US11704094B2 (en) * | 2019-11-18 | 2023-07-18 | Sap Se | Data integrity analysis tool |
US11281668B1 (en) | 2020-06-18 | 2022-03-22 | Tableau Software, LLC | Optimizing complex database queries using query fusion |
US20230229998A1 (en) * | 2022-01-20 | 2023-07-20 | Copperleaf Technologies Inc. | Methods and systems for asset management using customized calculation module |
Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021973A (en) * | 1986-01-16 | 1991-06-04 | International Business Machines Corporation | Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet |
US5241620A (en) * | 1991-01-03 | 1993-08-31 | Promised Land Technologies, Inc. | Embedding neural networks into spreadsheet applications |
US5339410A (en) * | 1988-09-09 | 1994-08-16 | International Business Machines Corporation | Method of bidirectional recalculation |
US5371675A (en) * | 1992-06-03 | 1994-12-06 | Lotus Development Corporation | Spreadsheet program which implements alternative range references |
US5394347A (en) | 1993-07-29 | 1995-02-28 | Digital Equipment Corporation | Method and apparatus for generating tests for structures expressed as extended finite state machines |
US5428712A (en) | 1990-07-02 | 1995-06-27 | Quantum Development Corporation | System and method for representing and solving numeric and symbolic problems |
US5499371A (en) | 1993-07-21 | 1996-03-12 | Persistence Software, Inc. | Method and apparatus for automatic generation of object oriented code for mapping relational data to objects |
US5577188A (en) * | 1994-05-31 | 1996-11-19 | Future Labs, Inc. | Method to provide for virtual screen overlay |
US5623591A (en) * | 1992-04-08 | 1997-04-22 | Borland International, Inc. | System and methods for building spreadsheet applications |
US5721847A (en) | 1994-10-21 | 1998-02-24 | Microsoft Corporation | Method and system for linking controls with cells of a spreadsheet |
US5890174A (en) * | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
US5893123A (en) * | 1995-06-22 | 1999-04-06 | Tuinenga; Paul W. | System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet |
US5987481A (en) | 1997-07-01 | 1999-11-16 | Microsoft Corporation | Method and apparatus for using label references in spreadsheet formulas |
US6216261B1 (en) | 1998-08-27 | 2001-04-10 | Ati Technologies Inc. | Method and apparatus for generating generic programming instructions using visual programming |
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
US6262736B1 (en) * | 1997-11-15 | 2001-07-17 | Theodor Holm Nelson | Interactive connection, viewing, and maneuvering system for complex data |
US6289513B1 (en) * | 1999-06-01 | 2001-09-11 | Isaac Bentwich | Interactive application generation and text processing |
US6339838B1 (en) * | 1998-01-02 | 2002-01-15 | At&T Corp. | Control of commercial processes |
US6389434B1 (en) * | 1993-11-19 | 2002-05-14 | Aurigin Systems, Inc. | System, method, and computer program product for creating subnotes linked to portions of data objects after entering an annotation mode |
US6526454B2 (en) * | 1992-12-24 | 2003-02-25 | Microsoft Corporation | Document object print interface |
US6613098B1 (en) * | 1999-06-15 | 2003-09-02 | Microsoft Corporation | Storage of application specific data in HTML |
US6701485B1 (en) * | 1999-06-15 | 2004-03-02 | Microsoft Corporation | Binding spreadsheet cells to objects |
US6718334B1 (en) * | 1999-05-28 | 2004-04-06 | Inter American Data, L.L.C. | Computer implemented document and image management system |
US6766512B1 (en) * | 2000-11-22 | 2004-07-20 | Furraylogic Ltd. | Methods and systems for generating a structured language model from a spreadsheet model |
US6859907B1 (en) * | 1999-08-09 | 2005-02-22 | Cognex Technology And Investment Corporation | Large data set storage and display for electronic spreadsheets applied to machine vision |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831580A (en) * | 1985-07-12 | 1989-05-16 | Nippon Electric Industry Co., Ltd. | Program generator |
US4815029A (en) * | 1985-09-23 | 1989-03-21 | International Business Machines Corp. | In-line dynamic editor for mixed object documents |
US4901221A (en) * | 1986-04-14 | 1990-02-13 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US5481741A (en) * | 1986-04-14 | 1996-01-02 | National Instruments Corporation | Method and apparatus for providing attribute nodes in a graphical data flow environment |
US4989141A (en) * | 1987-06-01 | 1991-01-29 | Corporate Class Software | Computer system for financial analyses and reporting |
EP0548240A1 (en) * | 1990-09-10 | 1993-06-30 | Lotus Development Corporation | Apparatus and method for reformattable spreadsheet |
US5359724A (en) * | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
US5289513A (en) * | 1992-10-29 | 1994-02-22 | Westinghouse Electric Corp. | Method of making a fuel assembly lattice member and the lattice member made by such method |
US5481712A (en) * | 1993-04-06 | 1996-01-02 | Cognex Corporation | Method and apparatus for interactively generating a computer program for machine vision analysis of an object |
US5576946A (en) * | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
US5603021A (en) * | 1994-09-02 | 1997-02-11 | Borland International, Inc. | Methods for composing formulas in an electronic spreadsheet system |
US5598519A (en) * | 1994-11-08 | 1997-01-28 | Microsoft Corporation | Method and system for direct cell formatting in a spreadsheet |
US5729745A (en) * | 1994-11-14 | 1998-03-17 | Microsoft Corporation | Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document |
US5862372A (en) * | 1994-11-16 | 1999-01-19 | Morris; Robert M. | Visually oriented computer implemented application development system utilizing standardized objects and multiple views |
AU4783796A (en) * | 1995-02-22 | 1996-09-11 | Plougmann, Ole | Graphical environment for managing and developing applications |
US5911070A (en) * | 1995-08-07 | 1999-06-08 | Inprise Corporation | Development system with methods for bi-directional application program code generation |
US5742504A (en) * | 1995-11-06 | 1998-04-21 | Medar, Inc. | Method and system for quickly developing application software for use in a machine vision system |
US5940296A (en) * | 1995-11-06 | 1999-08-17 | Medar Inc. | Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system |
US6091897A (en) * | 1996-01-29 | 2000-07-18 | Digital Equipment Corporation | Fast translation and execution of a computer program on a non-native architecture by use of background translator |
US6437805B1 (en) * | 1996-09-23 | 2002-08-20 | National Instruments Corporation | System and method for accessing object capabilities in a graphical program |
US6460058B2 (en) * | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US6157935A (en) * | 1996-12-17 | 2000-12-05 | Tran; Bao Q. | Remote data access and management system |
US5905498A (en) * | 1996-12-24 | 1999-05-18 | Correlate Technologies Ltd | System and method for managing semantic network display |
US5987541A (en) * | 1997-03-06 | 1999-11-16 | Advanced Micro Devices, Inc. | Computer system using signal modulation techniques to enhance multimedia device communication |
CN1219252A (en) * | 1997-03-11 | 1999-06-09 | 三菱电机株式会社 | Visual programming method and its system |
US6249786B1 (en) * | 1997-03-21 | 2001-06-19 | Rolf Wadewitz | Data-conversion method |
US5966532A (en) * | 1997-07-10 | 1999-10-12 | National Instruments Corporation | Graphical code generation wizard for automatically creating graphical programs |
WO1999004686A1 (en) * | 1997-07-22 | 1999-02-04 | Milner John A | Apparatus and method for language translation between patient and caregiver, and for communication with speech deficient patients |
US6219628B1 (en) * | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US6249794B1 (en) * | 1997-12-23 | 2001-06-19 | Adobe Systems Incorporated | Providing descriptions of documents through document description files |
US6995675B2 (en) * | 1998-03-09 | 2006-02-07 | Curkendall Leland D | Method and system for agricultural data collection and management |
US6202099B1 (en) * | 1998-03-30 | 2001-03-13 | Oracle Corporation | Method and apparatus for providing inter-application program communication using a common view and metadata |
US6453464B1 (en) * | 1998-09-03 | 2002-09-17 | Legacyj. Corp., Inc. | Method and apparatus for converting COBOL to Java |
US6317750B1 (en) * | 1998-10-26 | 2001-11-13 | Hyperion Solutions Corporation | Method and apparatus for accessing multidimensional data |
US7421648B1 (en) * | 1999-05-21 | 2008-09-02 | E-Numerate Solutions, Inc. | Reusable data markup language |
US7043693B2 (en) * | 1999-08-19 | 2006-05-09 | National Instruments Corporation | System and method for programmatically generating a second graphical program based on a first graphical program |
US7120876B2 (en) * | 1999-08-19 | 2006-10-10 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to user input |
US7210117B2 (en) * | 1999-08-19 | 2007-04-24 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to program information |
US7340684B2 (en) * | 1999-08-19 | 2008-03-04 | National Instruments Corporation | System and method for programmatically generating a second graphical program based on a first graphical program |
US7000190B2 (en) * | 1999-08-19 | 2006-02-14 | National Instruments Corporation | System and method for programmatically modifying a graphical program in response to program information |
US6640249B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Presentation services patterns in a netcentric environment |
US6829743B1 (en) * | 1999-09-28 | 2004-12-07 | Kabushiki Kaisha Toshiba | Method of acquiring environment consideration condition information |
US6556983B1 (en) * | 2000-01-12 | 2003-04-29 | Microsoft Corporation | Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space |
US7240067B2 (en) * | 2000-02-08 | 2007-07-03 | Sybase, Inc. | System and methodology for extraction and aggregation of data from dynamic content |
US7418440B2 (en) * | 2000-04-13 | 2008-08-26 | Ql2 Software, Inc. | Method and system for extraction and organizing selected data from sources on a network |
US6983232B2 (en) * | 2000-06-01 | 2006-01-03 | Siemens Dematic Electronic Assembly Systems Inc. | Electronics assembly systems customer benefit modeling tools and methods |
US8302072B2 (en) * | 2000-06-05 | 2012-10-30 | National Instruments Corporation | System and method for programmatically generating a graphical program based on a sequence of motion control, machine vision, and data acquisition (DAQ) operations |
AU2001264895A1 (en) * | 2000-06-21 | 2002-01-02 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7117435B1 (en) * | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7155667B1 (en) * | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
AU2001277868A1 (en) * | 2000-07-11 | 2002-01-21 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
US6317686B1 (en) * | 2000-07-21 | 2001-11-13 | Bin Ran | Method of providing travel time |
US6988241B1 (en) * | 2000-10-16 | 2006-01-17 | International Business Machines Corporation | Client side, web-based spreadsheet |
US7200838B2 (en) * | 2000-12-20 | 2007-04-03 | National Instruments Corporation | System and method for automatically generating a graphical program in response to a state diagram |
US20040205644A1 (en) * | 2000-12-29 | 2004-10-14 | International Business Machines Corporation | Method and system for allowing in place editing of office documents in a place |
US7369984B2 (en) * | 2002-02-01 | 2008-05-06 | John Fairweather | Platform-independent real-time interface translation by token mapping without modification of application code |
US7437715B2 (en) * | 2002-04-09 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for generating a set of robot commands based on user entry events in a user interface |
US7613641B1 (en) * | 2002-05-22 | 2009-11-03 | Hartford Fire Insurance Company | System and method for developing a defined pension plan logic and framework |
US20030226105A1 (en) * | 2002-05-29 | 2003-12-04 | Mattias Waldau | Method in connection with a spreadsheet program |
US7484200B2 (en) * | 2002-08-14 | 2009-01-27 | National Instruments Corporation | Automatically analyzing and modifying a graphical program |
US7062683B2 (en) * | 2003-04-22 | 2006-06-13 | Bmc Software, Inc. | Two-phase root cause analysis |
US7530012B2 (en) * | 2003-05-22 | 2009-05-05 | International Business Machines Corporation | Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube |
US7979841B2 (en) * | 2003-07-28 | 2011-07-12 | National Instruments Corporation | Programmatically determining calling information of a graphical program |
US20050268215A1 (en) * | 2004-06-01 | 2005-12-01 | Microsoft Corporation | Method and apparatus for viewing and interacting with a spreadsheet from within a web browser |
US7587665B2 (en) * | 2005-03-15 | 2009-09-08 | Microsoft Corporation | Method and computer-readable medium for providing spreadsheet-driven key performance indicators |
US7721270B2 (en) * | 2005-07-26 | 2010-05-18 | Informatica Corporation | Information converter and a method for transforming information |
US7752536B2 (en) * | 2005-09-09 | 2010-07-06 | Microsoft Corporation | Designating, setting and discovering parameters for spreadsheet documents |
US7712094B2 (en) * | 2005-12-22 | 2010-05-04 | Alan Joshua Shapiro | Method and apparatus for replicating a panoplex onto a storage medium from a master |
-
2002
- 2002-08-15 US US10/222,730 patent/US7010779B2/en not_active Expired - Fee Related
-
2005
- 2005-12-12 US US11/301,734 patent/US7836425B2/en not_active Expired - Fee Related
-
2010
- 2010-10-11 US US12/901,875 patent/US8209661B2/en not_active Expired - Fee Related
-
2012
- 2012-05-04 US US13/464,599 patent/US8656348B2/en not_active Expired - Fee Related
-
2014
- 2014-01-08 US US14/150,465 patent/US20140149962A1/en not_active Abandoned
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021973A (en) * | 1986-01-16 | 1991-06-04 | International Business Machines Corporation | Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet |
US5339410A (en) * | 1988-09-09 | 1994-08-16 | International Business Machines Corporation | Method of bidirectional recalculation |
US5428712A (en) | 1990-07-02 | 1995-06-27 | Quantum Development Corporation | System and method for representing and solving numeric and symbolic problems |
US5241620A (en) * | 1991-01-03 | 1993-08-31 | Promised Land Technologies, Inc. | Embedding neural networks into spreadsheet applications |
US5623591A (en) * | 1992-04-08 | 1997-04-22 | Borland International, Inc. | System and methods for building spreadsheet applications |
US6282551B1 (en) * | 1992-04-08 | 2001-08-28 | Borland Software Corporation | System and methods for improved spreadsheet interface with user-familiar objects |
US5371675A (en) * | 1992-06-03 | 1994-12-06 | Lotus Development Corporation | Spreadsheet program which implements alternative range references |
US6526454B2 (en) * | 1992-12-24 | 2003-02-25 | Microsoft Corporation | Document object print interface |
US5499371A (en) | 1993-07-21 | 1996-03-12 | Persistence Software, Inc. | Method and apparatus for automatic generation of object oriented code for mapping relational data to objects |
US5394347A (en) | 1993-07-29 | 1995-02-28 | Digital Equipment Corporation | Method and apparatus for generating tests for structures expressed as extended finite state machines |
US6389434B1 (en) * | 1993-11-19 | 2002-05-14 | Aurigin Systems, Inc. | System, method, and computer program product for creating subnotes linked to portions of data objects after entering an annotation mode |
US5577188A (en) * | 1994-05-31 | 1996-11-19 | Future Labs, Inc. | Method to provide for virtual screen overlay |
US5721847A (en) | 1994-10-21 | 1998-02-24 | Microsoft Corporation | Method and system for linking controls with cells of a spreadsheet |
US5893123A (en) * | 1995-06-22 | 1999-04-06 | Tuinenga; Paul W. | System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet |
US5890174A (en) * | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
US5987481A (en) | 1997-07-01 | 1999-11-16 | Microsoft Corporation | Method and apparatus for using label references in spreadsheet formulas |
US6262736B1 (en) * | 1997-11-15 | 2001-07-17 | Theodor Holm Nelson | Interactive connection, viewing, and maneuvering system for complex data |
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
US6339838B1 (en) * | 1998-01-02 | 2002-01-15 | At&T Corp. | Control of commercial processes |
US6216261B1 (en) | 1998-08-27 | 2001-04-10 | Ati Technologies Inc. | Method and apparatus for generating generic programming instructions using visual programming |
US6718334B1 (en) * | 1999-05-28 | 2004-04-06 | Inter American Data, L.L.C. | Computer implemented document and image management system |
US6289513B1 (en) * | 1999-06-01 | 2001-09-11 | Isaac Bentwich | Interactive application generation and text processing |
US6613098B1 (en) * | 1999-06-15 | 2003-09-02 | Microsoft Corporation | Storage of application specific data in HTML |
US6701485B1 (en) * | 1999-06-15 | 2004-03-02 | Microsoft Corporation | Binding spreadsheet cells to objects |
US6859907B1 (en) * | 1999-08-09 | 2005-02-22 | Cognex Technology And Investment Corporation | Large data set storage and display for electronic spreadsheets applied to machine vision |
US6766512B1 (en) * | 2000-11-22 | 2004-07-20 | Furraylogic Ltd. | Methods and systems for generating a structured language model from a spreadsheet model |
Non-Patent Citations (2)
Title |
---|
TITLE: Slicing Spreadsheets: An Integrated Methodology for Spreadsheet Testing and Debugging, author: Reichwein et al, ACM, 1999. * |
TITLE: The design of an object oriented collaborative spreadsheet with version control and history management, author: Fuller et al, ACM, 1993. * |
Cited By (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080233927A1 (en) * | 2002-03-19 | 2008-09-25 | Mapinfo Corporation | Location based service provider |
US8782508B2 (en) * | 2003-04-18 | 2014-07-15 | International Business Machines Corporation | Manipulating labelled data for data entry in management applications |
US9875227B2 (en) | 2003-04-18 | 2018-01-23 | International Business Machines Corporation | Manipulating of labelled data for data entry in management applications |
US20050010862A1 (en) * | 2003-04-18 | 2005-01-13 | International Business Machines Corporation | Method and system for manipulating labelled data for data entry in management applications |
US7523395B1 (en) * | 2003-05-30 | 2009-04-21 | Oracle International Corporation | Web application generator for spreadsheet calculators |
US20050021655A1 (en) * | 2003-06-09 | 2005-01-27 | Sun Microsystems, Inc. | System for efficiently acquiring and sharing runtime statistics |
US20040250235A1 (en) * | 2003-06-09 | 2004-12-09 | Sun Microsystems, Inc. | Methods and apparatus for enhanced statistical performance |
US7406686B2 (en) | 2003-06-09 | 2008-07-29 | Sun Microsystems, Inc. | Systems and methods for software performance tuning |
US20040250234A1 (en) * | 2003-06-09 | 2004-12-09 | Sun Microsystems, Inc. | Systems and methods for software performance tuning |
US20040255238A1 (en) * | 2003-06-13 | 2004-12-16 | Alexander Bushel | Optimizer of interdependent information |
US7530013B2 (en) * | 2003-06-13 | 2009-05-05 | Ultimate Risk Solutions, Llc | Optimizer of interdependent information |
US9026901B2 (en) * | 2003-06-20 | 2015-05-05 | International Business Machines Corporation | Viewing annotations across multiple applications |
US8321470B2 (en) | 2003-06-20 | 2012-11-27 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US20050256825A1 (en) * | 2003-06-20 | 2005-11-17 | International Business Machines Corporation | Viewing annotations across multiple applications |
US20070271249A1 (en) * | 2003-06-20 | 2007-11-22 | Cragun Brian J | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US20050203876A1 (en) * | 2003-06-20 | 2005-09-15 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US8793231B2 (en) | 2003-06-20 | 2014-07-29 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US20050028136A1 (en) * | 2003-07-31 | 2005-02-03 | Woodley Ronald Craig | System and method for generating an executable procedure |
US9811513B2 (en) | 2003-12-09 | 2017-11-07 | International Business Machines Corporation | Annotation structure type determination |
US20050138610A1 (en) * | 2004-02-02 | 2005-06-23 | Fujitsu Limited | Compiler program, compiler program recording medium, compile method, and program processing system |
US7958330B2 (en) * | 2004-02-02 | 2011-06-07 | Fujitsu Limited | Compiler program, compiler program recording medium, compile method, and program processing system |
US8356242B2 (en) | 2004-02-12 | 2013-01-15 | Sap Ag | Computer program product and computer system for presenting a summary of selected values |
US20090119271A1 (en) * | 2004-02-12 | 2009-05-07 | International Business Machines Corporation | Method and apparatus for presenting a summary of selected values |
US7478317B2 (en) * | 2004-02-12 | 2009-01-13 | International Business Machines Corporation | Method and apparatus for presenting a summary of selected values |
US20050180640A1 (en) * | 2004-02-12 | 2005-08-18 | International Business Machines Corporation | Method and apparatus for presenting a summary of selected values |
US7707212B2 (en) | 2004-05-13 | 2010-04-27 | International Business Machines Corporation | Method and system for propagating annotations using pattern matching |
US20080256062A1 (en) * | 2004-05-13 | 2008-10-16 | International Business Machines Corporation | Method and system for propagating annotations using pattern matching |
US7533139B2 (en) | 2004-09-27 | 2009-05-12 | Microsoft Corporation | Method and system for multithread processing of spreadsheet chain calculations |
US20060069993A1 (en) * | 2004-09-27 | 2006-03-30 | Microsoft Corporation | Method and system for multithread processing of spreadsheet chain calculations |
US11036930B2 (en) | 2004-10-07 | 2021-06-15 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US20140223276A1 (en) * | 2004-10-07 | 2014-08-07 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US10180933B2 (en) * | 2004-10-07 | 2019-01-15 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US20060161844A1 (en) * | 2005-01-14 | 2006-07-20 | Microsoft Corporation | System and method for a spreadsheet application supporting diverse formulaic functions |
US9792273B2 (en) | 2005-01-14 | 2017-10-17 | Microsoft Technology Licensing, Llc | System and method for a spreadsheet application supporting diverse formulaic functions |
US8726143B2 (en) * | 2005-01-14 | 2014-05-13 | Microsoft Corporation | System and method for a spreadsheet application supporting diverse formulaic functions |
US20060224946A1 (en) * | 2005-03-31 | 2006-10-05 | International Business Machines Corporation | Spreadsheet programming |
US7725815B2 (en) * | 2005-12-12 | 2010-05-25 | Sap Ag | Method and system for ordered resizing columns in a table |
US20070136654A1 (en) * | 2005-12-12 | 2007-06-14 | Peters Johan C | Method and system for ordered resizing columns in a table |
US7627852B1 (en) * | 2006-01-17 | 2009-12-01 | Xilinx, Inc. | Embedding an interpreter within an application written in a different programming language |
US9727604B2 (en) * | 2006-03-10 | 2017-08-08 | International Business Machines Corporation | Generating code for an integrated data system |
US20070214111A1 (en) * | 2006-03-10 | 2007-09-13 | International Business Machines Corporation | System and method for generating code for an integrated data system |
US9361137B2 (en) | 2006-03-10 | 2016-06-07 | International Business Machines Corporation | Managing application parameters based on parameter types |
US8032821B2 (en) | 2006-05-08 | 2011-10-04 | Microsoft Corporation | Multi-thread spreadsheet processing with dependency levels |
US20080147707A1 (en) * | 2006-12-13 | 2008-06-19 | International Business Machines Corporation | Method and apparatus for using set based structured query language (sql) to implement extract, transform, and load (etl) splitter operation |
US8160999B2 (en) | 2006-12-13 | 2012-04-17 | International Business Machines Corporation | Method and apparatus for using set based structured query language (SQL) to implement extract, transform, and load (ETL) splitter operation |
WO2008097332A3 (en) * | 2006-12-19 | 2009-04-16 | Entpr Electronics Corp | System and method for synthesizing date in a radar system |
WO2008097332A2 (en) * | 2006-12-19 | 2008-08-14 | Enterprise Electronics Corporation | System and method for synthesizing date in a radar system |
US8903762B2 (en) | 2007-01-09 | 2014-12-02 | International Business Machines Corporation | Modeling data exchange in a data flow of an extract, transform, and load (ETL) process |
US20080196001A1 (en) * | 2007-02-13 | 2008-08-14 | Hicks Scott D | Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets |
US8904340B2 (en) * | 2007-02-13 | 2014-12-02 | International Business Machines Corporation | Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets |
US9870354B2 (en) | 2007-02-13 | 2018-01-16 | International Business Machines Corporation | Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets |
US20080222509A1 (en) * | 2007-03-08 | 2008-09-11 | Huy Nguyen | Method and system for converting a source spreadsheet to a target spreadsheet |
US20080243823A1 (en) * | 2007-03-28 | 2008-10-02 | Elumindata, Inc. | System and method for automatically generating information within an eletronic document |
US7840889B2 (en) * | 2007-04-02 | 2010-11-23 | Business Objects Software Ltd. | Apparatus and method for generating spreadsheet function source code for use in a source code application |
US20080244508A1 (en) * | 2007-04-02 | 2008-10-02 | Business Objects, S.A. | Apparatus and method for generating spreadsheet function source code for use in a source code application |
CN101067785B (en) * | 2007-06-08 | 2013-02-27 | 深圳市中兴移动通信有限公司 | Inserting platform-based resource management method and system |
US20100281466A1 (en) * | 2007-12-19 | 2010-11-04 | Antonio Remollino | Process for verifying computer codes and corresponding verification system |
US8745593B2 (en) * | 2007-12-19 | 2014-06-03 | Antonio Remollino | Process for verifying computer codes and corresponding verification system |
US20090172553A1 (en) * | 2007-12-31 | 2009-07-02 | Sap Ag | Spreadsheet Software Services |
US8812950B2 (en) * | 2007-12-31 | 2014-08-19 | Sap Ag | Spreadsheet software services |
US20090254576A1 (en) * | 2008-04-03 | 2009-10-08 | Elumindata, Inc. | System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure |
US9189478B2 (en) | 2008-04-03 | 2015-11-17 | Elumindata, Inc. | System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure |
US20100023501A1 (en) * | 2008-07-22 | 2010-01-28 | Elumindata, Inc. | System and method for automatically selecting a data source for providing data related to a query |
US8041712B2 (en) | 2008-07-22 | 2011-10-18 | Elumindata Inc. | System and method for automatically selecting a data source for providing data related to a query |
US8037062B2 (en) | 2008-07-22 | 2011-10-11 | Elumindata, Inc. | System and method for automatically selecting a data source for providing data related to a query |
US8176042B2 (en) | 2008-07-22 | 2012-05-08 | Elumindata, Inc. | System and method for automatically linking data sources for providing data related to a query |
US9123093B1 (en) | 2008-08-29 | 2015-09-01 | Cognex Corporation | Vision inspection programming method and apparatus |
US20100269092A1 (en) * | 2009-04-20 | 2010-10-21 | Exigen Properties, Inc. | Systems, Methods and Machine Readable Mediums for Defining and Executing New Commands in a Spreadsheet Software Application |
US8645911B2 (en) | 2009-04-20 | 2014-02-04 | Exigen Properties, Inc. | Systems, methods and machine readable mediums for defining and executing new commands in a spreadsheet software application |
US8972930B2 (en) | 2010-06-04 | 2015-03-03 | Microsoft Corporation | Generating text manipulation programs using input-output examples |
US9613115B2 (en) | 2010-07-12 | 2017-04-04 | Microsoft Technology Licensing, Llc | Generating programs based on input-output examples using converter modules |
US20120030598A1 (en) * | 2010-07-28 | 2012-02-02 | Sap Ag | Decision aiding user interfaces |
US9009617B2 (en) * | 2010-07-28 | 2015-04-14 | Sap Se | Decision aiding user interfaces |
US20120131546A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Code deployment assistance |
US9959103B2 (en) * | 2010-11-19 | 2018-05-01 | Microsoft Technology Licensing, Llc | Code deployment assistance |
US9141393B2 (en) | 2011-11-17 | 2015-09-22 | EnterCalo, Inc. | Business content authoring and distribution |
WO2013075044A1 (en) * | 2011-11-17 | 2013-05-23 | Entercalc, Inc. | Business content authoring and distribution |
US9558222B1 (en) * | 2012-05-04 | 2017-01-31 | Google Inc. | Blended ranking of dissimilar populations using an N-furcated normalization technique |
USD702255S1 (en) * | 2012-05-30 | 2014-04-08 | Microsoft Corporation | Display screen with graphical user interface |
USD702256S1 (en) * | 2012-05-30 | 2014-04-08 | Microsoft Corporation | Display screen with graphical user interface |
US9552335B2 (en) | 2012-06-04 | 2017-01-24 | Microsoft Technology Licensing, Llc | Expedited techniques for generating string manipulation programs |
US20140359417A1 (en) * | 2013-06-04 | 2014-12-04 | Omer Bar-On | Systems and methods for graphically modulating structured data |
US20160132297A1 (en) * | 2013-06-11 | 2016-05-12 | Smart Research Limited | Method and computer program for generating or manipulating source code |
US9560136B2 (en) * | 2014-08-07 | 2017-01-31 | Sap Se | High speed communication protocol |
US10218788B2 (en) | 2014-08-07 | 2019-02-26 | Sap Se | High speed communication protocol |
US20160044107A1 (en) * | 2014-08-07 | 2016-02-11 | Michael Acker | High speed communication protocol |
US9286286B1 (en) * | 2015-01-03 | 2016-03-15 | Chahid Kamel Ghaddar | Method, apparatus, and computer program product for optimizing parameterized models using functional paradigm of spreadsheet software |
US9892108B1 (en) * | 2015-01-03 | 2018-02-13 | Chahid Kamel Ghaddar | Method, apparatus, and computer program product for solving equation system models using spreadsheet software |
US10114812B1 (en) * | 2015-01-03 | 2018-10-30 | Chahid Kamel Ghaddar | Method, apparatus, and computer program product for solving an equation system using pure spreadsheet functions |
US10628634B1 (en) * | 2015-01-03 | 2020-04-21 | Chahid Kamel Ghaddar | Method, apparatus, and computer program product for solving single and multiple integral equations using spreadsheet software |
US20170249246A1 (en) * | 2015-03-13 | 2017-08-31 | Hitachi Data Systems Corporation | Deduplication and garbage collection across logical databases |
US10853242B2 (en) * | 2015-03-13 | 2020-12-01 | Hitachi Vantara Llc | Deduplication and garbage collection across logical databases |
US11620304B2 (en) | 2016-10-20 | 2023-04-04 | Microsoft Technology Licensing, Llc | Example management for string transformation |
US11256710B2 (en) | 2016-10-20 | 2022-02-22 | Microsoft Technology Licensing, Llc | String transformation sub-program suggestion |
US10846298B2 (en) | 2016-10-28 | 2020-11-24 | Microsoft Technology Licensing, Llc | Record profiling for dataset sampling |
EP3370163A1 (en) * | 2017-03-02 | 2018-09-05 | Palantir Technologies Inc. | Automatic translation of spreadsheets into source code scripts |
US10180934B2 (en) | 2017-03-02 | 2019-01-15 | Palantir Technologies Inc. | Automatic translation of spreadsheets into scripts |
US10762291B2 (en) | 2017-03-02 | 2020-09-01 | Palantir Technologies Inc. | Automatic translation of spreadsheets into scripts |
US11200373B2 (en) | 2017-03-02 | 2021-12-14 | Palantir Technologies Inc. | Automatic translation of spreadsheets into scripts |
US10831451B2 (en) * | 2017-12-01 | 2020-11-10 | Microsoft Technology Licensing, Llc | Synthesized programming-by-example programs |
US10671353B2 (en) | 2018-01-31 | 2020-06-02 | Microsoft Technology Licensing, Llc | Programming-by-example using disjunctive programs |
US20200081968A1 (en) * | 2018-09-11 | 2020-03-12 | Apple Inc. | Exploded-range references |
US10657321B2 (en) * | 2018-09-11 | 2020-05-19 | Apple Inc. | Exploded-range references |
US11010143B2 (en) * | 2018-09-28 | 2021-05-18 | Salesforce.Com, Inc. | Executing formulas written using formula language |
US11003427B2 (en) | 2018-09-28 | 2021-05-11 | Salesforce.Com, Inc. | Interface for generating and testing formulas using a formula language |
US11886916B2 (en) | 2020-06-30 | 2024-01-30 | Microsoft Technology Licensing, Llc | System for adaptive multithreaded recalculation operations |
Also Published As
Publication number | Publication date |
---|---|
US7836425B2 (en) | 2010-11-16 |
US20140149962A1 (en) | 2014-05-29 |
US20030106040A1 (en) | 2003-06-05 |
US20070006139A1 (en) | 2007-01-04 |
US20120222000A1 (en) | 2012-08-30 |
US8656348B2 (en) | 2014-02-18 |
US8209661B2 (en) | 2012-06-26 |
US20110055681A1 (en) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7010779B2 (en) | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations | |
Flannagan | JavaScript: The definitive guide | |
US6973625B1 (en) | Method for creating browser-based user interface applications using a framework | |
Fox | An R and S-Plus companion to applied regression | |
Alencar et al. | OOZE: An object oriented Z environment | |
Flanagan | JavaScript: The definitive guide: Activate your web pages | |
US8015481B2 (en) | Method for generating source code in a procedural, re-entrant-compatible programming language using a spreadsheet representation | |
KR20060046217A (en) | Support for user-specified spreadsheet functions | |
US20130132927A1 (en) | Business content authoring and distribution | |
EP1425659B1 (en) | Method and system in an office application for providing content dependent help information | |
Vokác | An efficient tool for recovering Design Patterns from C++ Code. | |
Duffy et al. | C# for Financial Markets | |
Santos et al. | XBRL formula specification in the multidimensional data model | |
Gaurav et al. | Machine learning with R | |
Kongdenfha et al. | Spreadmash: A spreadsheet-based interactive browsing and analysis tool for data services | |
Theler et al. | Description of the computational tool wasora | |
Dalton | Financial applications using Excel add-in development in C/C++ | |
Gorelik | Object-oriented programming in modern Fortran | |
Mössenböck | C# to the Point | |
Nikishkov et al. | The development of a Java engineering application for higher-order asymptotic analysis of crack-tip fields | |
Weisert | Object-Oriented Computation in C++ and Java: A Practical Guide to Design Patterns for Object-Oriented Computing | |
Stokes | The evolution of econometric software design: A developer's view | |
Teixeira | Controlled Specification and Generation of Spreasheets | |
Tung et al. | VBA Programming | |
Wang et al. | Programming languages for business problem solving |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KNOWLEDGE DYNAMICS, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RUBIN, MICHAEL H.;SMIALEK, MICHAEL ROBERT;REEL/FRAME:013210/0053 Effective date: 20020815 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.) |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Expired due to failure to pay maintenance fee |
Effective date: 20180307 |