Patent classifications
G06F40/18
Contextual answer generation in spreadsheets
A method includes receiving, via a user interface of a device associated with a user, a request to populate one or more cells of a plurality of cells of a document having a tabular structure, wherein the one or more cells correspond to a first attribute pertaining to a first column and a first object pertaining to a first row; analyzing the request to obtain contextual information indicating the first attribute and the first object; generating a query based at least in part on the contextual information; initiating an execution of the query to obtain a response using one or more data sources; causing the user interface to be modified to populate the response in the one or more cells corresponding to the first attribute and the first object; determining second contextual information based on the response, the second contextual information indicating a second attribute and a second object; generating a second query based at least in part on the second contextual information; initiating an execution of the second query to obtain a second response using one or more data sources; and causing the user interface to be modified to populate the second response in one or more cells corresponding to the second attribute and the second object.
Query-based time-series data display and processing system
Various systems and methods are described herein for an improved spreadsheet application that allows a user to generate, manipulate, and replicate data visualizations (e.g., sparklines, graphs, charts, etc.) using functions without importing data into cells of the application. For example, data is stored in one or more remote or local data stores accessible to the improved spreadsheet application. A user enters a function into a cell of the improved spreadsheet application. The improved spreadsheet application generates a query using the function, the query identifying a portion of a dataset to retrieve from the data store(s). The improved spreadsheet application then transmits the query to the data store(s) and retrieves the requested data. A renderer of the improved spreadsheet application then renders a sparkline using the retrieved data. The improved spreadsheet application displays the rendered sparkline in the cell in which the function was entered, or at another designated location.
Query-based time-series data display and processing system
Various systems and methods are described herein for an improved spreadsheet application that allows a user to generate, manipulate, and replicate data visualizations (e.g., sparklines, graphs, charts, etc.) using functions without importing data into cells of the application. For example, data is stored in one or more remote or local data stores accessible to the improved spreadsheet application. A user enters a function into a cell of the improved spreadsheet application. The improved spreadsheet application generates a query using the function, the query identifying a portion of a dataset to retrieve from the data store(s). The improved spreadsheet application then transmits the query to the data store(s) and retrieves the requested data. A renderer of the improved spreadsheet application then renders a sparkline using the retrieved data. The improved spreadsheet application displays the rendered sparkline in the cell in which the function was entered, or at another designated location.
COMPUTER DATA SYSTEM DATA SOURCE REFRESHING USING AN UPDATE PROPAGATION GRAPH
Described are methods, systems and computer readable media for data source refreshing.
Efficient concurrent invocation of sheet defined functions including dynamic arrays
Systems and methods are directed to providing efficient and fast invocation of concurrent sheet defined functions (SDFs) including dynamic arrays by front-loading the work. At SDF creation time, a SDF cell table, a formula table, and a spill area table are generated. The SDF cell table represents cells from a worksheet that are used for the SDF. The formula table comprises an index of formulas used by the SDF, whereby index identifiers are stored in cells of the SDF cell table. The spill area table comprises an index of spill areas where each dynamic array may automatically spill into. The SDF cell table, formula table, and spill area table are shared between a plurality of invocations of the SDF during invocation time.
Efficient concurrent invocation of sheet defined functions including dynamic arrays
Systems and methods are directed to providing efficient and fast invocation of concurrent sheet defined functions (SDFs) including dynamic arrays by front-loading the work. At SDF creation time, a SDF cell table, a formula table, and a spill area table are generated. The SDF cell table represents cells from a worksheet that are used for the SDF. The formula table comprises an index of formulas used by the SDF, whereby index identifiers are stored in cells of the SDF cell table. The spill area table comprises an index of spill areas where each dynamic array may automatically spill into. The SDF cell table, formula table, and spill area table are shared between a plurality of invocations of the SDF during invocation time.
DEVICE AND METHOD FOR MANAGING TABLE
A method includes receiving a designation of one or more first items that are to be included in a new table from a user, specifying, based on metadata related to second items included in each of a plurality of existing tables, an existing table from among the plurality of existing tables, the existing table including at least one of the designated one or more first items in the second items, specifying, based on other metadata related to an input item and an output item accompanied with execution of each of a plurality of programs, a program from among the plurality of programs, the program causing the designated one or more first items to be output as the output item when one of the second items included in the specified existing table is input as the input item, and outputting the specified existing table and the specified program.
METHOD AND SYSTEM FOR VALIDATION OF CALCULATION CODE AGAINST CALCULATION SPECIFICATION
The present invention generally relates to the field of automated functional testing, and, more particularly, to a method and system for validation of calculation code against calculation specification. Currently the validation is done manually which is time consuming and effort intensive. Embodiments of present disclosure provide an automated method of validation by generating a schema from the calculation specification, retrieving data based on the schema, executing the intermediate calculations, and comparing the result with the output from the calculation code. The method requires minimal manual input and is a fast, simple, resilient and low-code/no-code technique that can be extended to support any type of calculation code and calculation specifications with minimal or no change.
METHOD AND SYSTEM FOR VALIDATION OF CALCULATION CODE AGAINST CALCULATION SPECIFICATION
The present invention generally relates to the field of automated functional testing, and, more particularly, to a method and system for validation of calculation code against calculation specification. Currently the validation is done manually which is time consuming and effort intensive. Embodiments of present disclosure provide an automated method of validation by generating a schema from the calculation specification, retrieving data based on the schema, executing the intermediate calculations, and comparing the result with the output from the calculation code. The method requires minimal manual input and is a fast, simple, resilient and low-code/no-code technique that can be extended to support any type of calculation code and calculation specifications with minimal or no change.
Spreadsheet recalculation algorithm for directed acyclic graph processing
The present disclosure includes a computing device, a system, and method for performing a spreadsheet recalculation algorithm. In one embodiment, the computing device includes an electronic processor, and a memory coupled to the electronic processor. The memory includes Directed Acyclic Graph (DAG) data having a plurality of nodes, each node of the plurality of nodes having at least one of a constant value or one or more inputs, and program instructions. The program instructions, when executed by the electronic processor, cause the electronic processor to change the plurality of nodes, and update one or more affected nodes of the plurality of nodes based on the change to the plurality of nodes, the one or more affected nodes being less than all of the plurality of nodes.