G06F40/18

Data set lookup with binary search integration and caching

In non-limiting examples of the present disclosure, systems, methods and devices for identifying a target value in a data set are presented. A request for a first target value in a data array may be received, wherein the request comprises first reference value. The data array may comprise a plurality of values and a plurality of value types included in one or more tables in a computer-implemented spreadsheet application. An index comprising a plurality of sorted reference numbers corresponding to a plurality of values in the data array may be generated based on the request. The index may be searched, and based at least on the search, the first reference value may be identified. In additional examples, the index may be cached and utilized to process additional target value requests that reference an overlapping range value with the first request.

Data set lookup with binary search integration and caching

In non-limiting examples of the present disclosure, systems, methods and devices for identifying a target value in a data set are presented. A request for a first target value in a data array may be received, wherein the request comprises first reference value. The data array may comprise a plurality of values and a plurality of value types included in one or more tables in a computer-implemented spreadsheet application. An index comprising a plurality of sorted reference numbers corresponding to a plurality of values in the data array may be generated based on the request. The index may be searched, and based at least on the search, the first reference value may be identified. In additional examples, the index may be cached and utilized to process additional target value requests that reference an overlapping range value with the first request.

Using dynamic entity search during entry of natural language commands for visual data analysis

A computing device receives from a user a partial natural language input related to a data source. The computing device receives an additional keystroke corresponding to the partial natural language input. The partial natural language input and the additional keystroke comprise a character string. In response to the additional keystroke, the computing device generates one or more interpretations corresponding to entities in the data source. The computing device displays the interpretations. In some implementation, the character string comprises a sequence of terms, and the device displays the interpretations in a dropdown menu adjacent to the most recently entered term in the sequence. In some implementations, the dropdown menu includes a plurality of rows, each row displaying a respective data value and a respective data field corresponding to the respective data value. Some implementations display a statistical distribution of data values for a data field (displayed adjacent to the first interpretation).

Using dynamic entity search during entry of natural language commands for visual data analysis

A computing device receives from a user a partial natural language input related to a data source. The computing device receives an additional keystroke corresponding to the partial natural language input. The partial natural language input and the additional keystroke comprise a character string. In response to the additional keystroke, the computing device generates one or more interpretations corresponding to entities in the data source. The computing device displays the interpretations. In some implementation, the character string comprises a sequence of terms, and the device displays the interpretations in a dropdown menu adjacent to the most recently entered term in the sequence. In some implementations, the dropdown menu includes a plurality of rows, each row displaying a respective data value and a respective data field corresponding to the respective data value. Some implementations display a statistical distribution of data values for a data field (displayed adjacent to the first interpretation).

Systems and methods of generating data marks in data visualizations

An example method of displaying a data visualization includes displaying a plurality of selectable fields and receiving user selections of two different fields from the plurality of selectable fields. The method also includes generating, in accordance with the received user selections, data marks to be displayed in a data visualization, each data mark corresponding to a respective retrieved tuple of data from a multidimensional database, where (i) each data mark has an x-position defined according to data for a first field in the respective tuple and (ii) each data mark has a y-position defined according to data for a second field in the respective tuple. The method also includes displaying the data visualization that includes the generated data marks.

Systems and methods of generating data marks in data visualizations

An example method of displaying a data visualization includes displaying a plurality of selectable fields and receiving user selections of two different fields from the plurality of selectable fields. The method also includes generating, in accordance with the received user selections, data marks to be displayed in a data visualization, each data mark corresponding to a respective retrieved tuple of data from a multidimensional database, where (i) each data mark has an x-position defined according to data for a first field in the respective tuple and (ii) each data mark has a y-position defined according to data for a second field in the respective tuple. The method also includes displaying the data visualization that includes the generated data marks.

AUTOMATIC DATA EXTRACTION

Described are methods for automatically extracting data from structured documents e.g. spreadsheets, regardless of the manner in which data is organized, and using the extracted data to generate an output table that is in a standardized format. The method can include the operations for automatically extracting data from a spreadsheet that defines rows and columns and includes a plurality of cells that are delineated by the rows and the columns, by identifying characteristics of data included in each cell of the column, determining a template type of the column based on the characteristics of the data in each selected cell of the column, and determining, from among a plurality of cells of the column and based on characteristics of the data included in the plurality of cells of the column, a representative cell that is representative of the determined template type of the column.

AUTOMATIC DATA EXTRACTION

Described are methods for automatically extracting data from structured documents e.g. spreadsheets, regardless of the manner in which data is organized, and using the extracted data to generate an output table that is in a standardized format. The method can include the operations for automatically extracting data from a spreadsheet that defines rows and columns and includes a plurality of cells that are delineated by the rows and the columns, by identifying characteristics of data included in each cell of the column, determining a template type of the column based on the characteristics of the data in each selected cell of the column, and determining, from among a plurality of cells of the column and based on characteristics of the data included in the plurality of cells of the column, a representative cell that is representative of the determined template type of the column.

METHODS FOR POLYMORPHIC DATA IN SPREADSHEETS

A spreadsheet user interface shows polymorphic records. The records include global fields, discriminator fields, and context-sensitive fields. A context-sensitive field is available or unavailable dependent on a discriminator field value. Record fields associate with spreadsheet columns, regardless of field availability. User confusion is prevented by marking a record's unavailable context-sensitive fields as unavailable and visually distinguishing them from available fields. A user-requested operation spanning multiple rows and columns is supported by testing whether a source cell and source data is available, a destination cell is available, and skipping the operation for those records whose source and/or destination cell is required but unavailable. An embodiment supports interfacing with a single record in a spreadsheet form by applying global form templates associated with global fields, and context-dependent form templates associated with specific discriminator field values.

METHODS FOR POLYMORPHIC DATA IN SPREADSHEETS

A spreadsheet user interface shows polymorphic records. The records include global fields, discriminator fields, and context-sensitive fields. A context-sensitive field is available or unavailable dependent on a discriminator field value. Record fields associate with spreadsheet columns, regardless of field availability. User confusion is prevented by marking a record's unavailable context-sensitive fields as unavailable and visually distinguishing them from available fields. A user-requested operation spanning multiple rows and columns is supported by testing whether a source cell and source data is available, a destination cell is available, and skipping the operation for those records whose source and/or destination cell is required but unavailable. An embodiment supports interfacing with a single record in a spreadsheet form by applying global form templates associated with global fields, and context-dependent form templates associated with specific discriminator field values.