A computing device displays, in a user interface, a workflow that includes a plurality of steps. In response to user selection of a first step of the plurality of steps, the computing device displays a list of data sources. The device receives user selection of a first data source of the data sources. The device receives user input specifying a target data field from the first data source and a modeling objective for the target data field. In response to the user input, the device automatically executes a model to predict a first outcome for the target data field based on the modeling objective. The device displays results of the model. The device receives user input to deploy the model. In accordance with the user input, the device deploys the model.
A method (at a computer system including one or more processors and memory storing one or more programs) includes detecting a user input to display a first visualization, and in response to detecting the user input to display the first visualization, concurrently displaying the first visualization and an insight item. The first visualization is associated with data from a data source, and the insight item is generated based on the data from the data source. The insight item includes an insight visualization and an associated natural language narrative. The natural language narrative explains a meaning for the insight item. The natural language narrative also explains a relevance of one or more trends associated with the insight item.
A computer system animates data visualizations. The system displays a graphical user interface, including a schema region with data field icons representing data fields from a data source and a canvas region displaying a data visualization having visual marks representing data according to visual properties. A user associates a data field icon, representing a data field, with a visual property of the visual marks. In response, the system modifies the data visualization so that the visual property of each visual mark is displayed according to data values of the data field. A user associates a second data field icon, representing a second data field, with a second visual property of the visual marks. The second visual property specifies a nonstop animation format. In response, the system modifies the data visualization to animate the visual marks according to the second visual property and data values for the second data field.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
A method for recommending data visualizations includes selecting candidate data fields based on a value of a data field meeting threshold criteria. A first user input is received, selecting one or more of the candidate data fields. One or more recommended types of data visualizations are generated and displayed based on the selected candidate data fields. A second user input is received, selecting a type of visualization from the one or more recommended types of data visualizations. A data visualization that includes at least one of the one or more candidate data fields associated with the selected type of visualization is generated and displayed based on the selected type of visualization.
A method for generating a collection of data visualization for dashboard composition that is performed at a computer system in communication with a display generation component, one or more processors, and memory storing one or more programs. The programs are configured to be executed by the processors. The programs include instructions for receiving a user input selecting one or more data fields (from a data source) displayed in a user interface via the display generation component. The programs also include instructions for generating a plurality of candidate data visualizations based on a type of analysis selected from a plurality of selectable types of analysis and the one or more user-selected data fields. The programs also include instructions for displaying, in the user interface via the display generation component, a subset of the plurality of candidate data visualizations as a collection that is associated with the type of analysis.
A method generates data analysis templates. A computing device receives, via a graphical user interface, a natural language input, which includes multiple terms. The terms include one or more data fields and/or data values from a data source. The device designates the natural language input as trigger text for a data analysis template. The trigger text includes the multiple terms. A user defines one or more rules for a subset of the terms, each rule specifying respective criteria to match a respective term in the subset. A user specifies multiple data visualizations corresponding to the trigger text. Each of the data visualizations (i) uses a respective one or more data fields, from the data source, corresponding to terms from the trigger text and (ii) has a respective data visualization type. The device generates the data analysis template according to the trigger text, the user definition, and the user specification.
G06F 16/26 - Visual data miningBrowsing structured data
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
A computer system obtains a data model encoding a first data source as a set of logical tables. The computer system determines, for each data field of a first plurality of data fields included in a first logical table, a respective semantic role for the respective data field using a trained predictive model and according to a first concept corresponding to the first logical table. The computer system displays, in a user interface, a plurality of semantic roles for the first plurality of data fields. The computer system detects, via the user interface, a user input selecting a preferred semantic role for a first data field of the first plurality of data fields. The computer system assigns the preferred semantic role to the first data field and updates the first logical table according to the preferred semantic role that is assigned to the first data field.
A computer system receives a user input to specify a natural language command. The computer system, in response to receiving the user input, generates a semantic interpretation for the natural language command using a trained word model, based on semantic annotations for a published data source. The trained word model is trained to identify similar words based on a plurality of processed representations corresponding to a set of words of a natural language. The computer system queries the published data source based on the semantic interpretation, thereby retrieving a dataset, and generates and displays a data visualization based on the retrieved dataset.
A computing device performs an automated analysis of a data source and generates one or more first natural language outputs in accordance with the automated analysis. The device displays the first natural language outputs in a graphical user interface and receives user selection of a natural language output of the first natural language outputs. In response to receiving the user selection, the device generates a first data visualization according to the automated analysis, one or more data fields of the data source specified in the natural language output, and/or analytical operations specified in the natural language output. The device displays the first data visualization in the graphical user interface. The device generates one or more second natural language outputs and displays the second natural language outputs in the graphical user interface.
A method uses natural language processing for visual analysis of a dataset. The method includes receiving a first natural language (NL) input directed to a data source, from a first client. The method also includes parsing the first NL input into tokens based on a grammar and the data source. The method also includes generating and outputting an intermediate NL response, to a second client, based on the tokens and output modality of the second client. In response to receiving a user input to provide missing information: the method also includes generating an input query based on the user input; and querying the data source using the input query, to obtain a result set. The method also includes generating and outputting, to the second client, a first NL output and a snapshot of a data visualization, based on the result set and the output modality of the second client.
A computing device receives, in a graphical user interface, a first natural language input directed to a first data source. The device parses the first natural language input and identifies one or more keywords from the input. The device identifies, using the keywords, a plurality of triggers for generating a respective plurality of data visualizations for the first data source. The device determines that the keywords in the first natural language input match a first data field or a first data value in a predefined set of data fields or a predefined set data values constrained by one or more variable terms specified via user configuration input. The computing device identifies a first trigger that is associated with a first plurality of data visualizations. The device generates the first plurality of data visualizations and displays a first data dashboard that includes the first plurality of data visualizations.
The various implementations described herein include methods and devices for recommending phrases for data visualizations. In one aspect, a method includes presenting a data visualization page to a user, the page including a first region for displaying a data visualization and a second region for phrase recommendations. The method further includes obtaining a dataset selected by the user, the dataset including a plurality of fields; and generating a first set of phrase recommendations based on the dataset, each phrase recommendation corresponding to a respective field. The method also includes displaying the first set of phrase recommendations in the second region; and receiving a user selection of a first phrase. The method further includes, in response to the user selection: presenting a data visualization in the first region using the first phrase; and displaying a second set of phrase recommendations generated based on the first phrase.
A computing device receives, from a user of a first user group, input specifying a set of metadata comprising synonyms for data fields and data values of a data source. The computing device determines, in association with a second user group using a natural language interface, permission to access the set of metadata specified by the user of the first user group. The computing device, after determining that the second user group is permitted to access the set of metadata, receives a natural language command directed to the data source. The computing device interprets one or more terms in the command based on the set of metadata, and executes queries to retrieve data from the data source. The computing device generates and displays a data visualization in accordance with the retrieved data.
G06F 40/40 - Processing or translation of natural language
G06F 3/0481 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
A computing device receives user selection of a data source. In accordance with the user selection, the device generates one or more initial natural language utterances according to metrics of data fields in the data source and/or previous user interaction with the data source. Each of the initial natural language utterances corresponds to a respective suggestion to guide visual analysis of the data source. The device displays the initial utterances in a graphical user interface. The device receives user selection of a first initial utterance of the initial utterances. In response to the user selection, the device generates and displays a first data visualization in accordance with data fields and/or analytical operations specified in the first initial utterance. The device also generates updated natural language utterances in accordance with the first initial utterance and the first data visualization, and displays the updated utterances with the first data visualization.
A method for generating schemas to compress storage of denormalized data includes receiving user selection of an initial data table and constructing a snowflake schema to decompose the initial data table into a plurality of tables. Tables in the plurality of tables that are related to one another are connected by foreign keys. The snowflake schema is constructed according to a cost model that balances the cost of storing the plurality of tables and the cost of storing the foreign keys. The method also includes transforming data in the initial data table into the plurality of tables according to the snowflake schema.
A computing device receives, in a graphical user interface, a first natural language query. The computing device parses the first natural language query, thereby identifying one or more keywords in the query. The computing device identifies one or more data sources that are relevant to the query. The computing device also identifies one or more data fields and/or data values from the data sources in the query. The computing device compares the keywords to respective trigger text for each of a plurality of data analysis templates, thereby selecting a first data analysis template. The first data analysis template includes a plurality of predefined data visualizations. The computing device generates a dashboard that includes the data visualizations using the identified data fields and/or data values, and displays the dashboard in the graphical user interface.
Embodiments are directed to generating metrics based on visualizations. A dashboard that may be associated with source visualizations display a current value of metrics from source visualization models. A classifier may automatically use characteristics from the source visualizations to determine metrics for the source visualization. The source visualization models may be sample to provide values of the metrics across time, at a sampling rate determined by a metric profile. The sampled values may be stored with time values in a metric data store such that the time values may correspond to when the values sampled from the visualization. Metric visualizations may be generated based on the values and the time values such that the metric visualizations display previously sampled values of the metrics.
The various implementations described herein include methods and devices for recommending phrases for data visualizations. In one aspect, a method includes presenting a data visualization page to a user, the page including a first region for displaying a data visualization and a second region for phrase recommendations. The method further includes obtaining a dataset selected by the user, the dataset including a plurality of fields; and generating a first set of phrase recommendations based on the dataset, each phrase recommendation corresponding to a respective field. The method also includes displaying the first set of phrase recommendations in the second region; and receiving a user selection of a first phrase. The method further includes, in response to the user selection: presenting a data visualization in the first region using the first phrase; and displaying a second set of phrase recommendations generated based on the first phrase.
A computing device receives a natural language command directed to a data source. The device applies one or more respective rules to determine whether the natural language command comprises an ambiguous and/or underspecified request. In accordance with a determination that the natural language command comprises an ambiguous and/or underspecified request, the device infers information to resolve the ambiguous and/or underspecified request according to (i) the one or more respective rules, (ii) metadata for the data source, and (iii) metadata for one or more data fields specified in the natural language command. The device updates a respective intent specification based on the inferred information, retrieving data sets from the data source according to the respective intent specification, and generates and displays a data visualization based on the retrieved data sets.
A computing device parses a user-specified natural language command to form a first expression. The computing device determines that the first expression is ambiguous or underspecified. The computing device, in accordance with the determination, infers first information using one or more inferencing rules, where at least one of the inferencing rules is based on an attribute of data fields and/or data values in a data source. The computing device forms a second expression based on the first expression using and the first information. The computing device retrieves one or more data sets from the data source using according to the second expression. The computing device generates and displays a data visualization of the retrieved one or more data sets.
G06F 3/0481 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Embodiments are directed to managing data visualizations. A primary visualization that is associated with a data model may be provided such that the primary visualization may be displayed in a display panel. Insight items may be generated based on the primary visualization and the data model such that the insight items may correspond to one or more visualizations that may share one or more portions of the data model and such that the insight items may be displayed in an insight panel. In response to an insight item being selected from the insight panel, additional actions may be performed, including: generating a visualization based on the insight item that is displayed in the display panel instead of the primary visualization; and generating a scratch item that includes a thumbnail view of the primary visualization such that the thumbnail view is displayed in a scratch panel.
Embodiments are directed to visualizing data. A computed field that includes input fields and an object model that includes objects may be provided. One or more of the objects may be determined based on the input fields such that each input field corresponds to a determined object. A sub-graph may be generated based on the determined objects. Zero or more determined objects may be pruned from the sub-graph based on a traversal of the sub-graph and characteristics of the determined objects such that each pruned object may be determined to be an attribute of at least one of the determined objects. In response to the iterative pruning providing one remaining determined object in the sub-graph, assigning the remaining determined object as a parent of the computed field.
A method is performed at a computing device having a display, processors, and memory. A user inputs a natural language expression, directed to a selected data source, in a first region of a graphical user interface. The device parses the natural language expression and determines that the natural language expression specifies a data table from the data source either (i) directly by identifying the data table specified in the natural language expression or (ii) indirectly by identifying a data value specified in the natural language expression. The data value is a data value of a data field within the data table. In response, the device generates and displays, in the graphical user interface, a count of data rows of the data table, and a rendering of data rows and data columns of the data table.
G06F 40/177 - Editing, e.g. inserting or deleting of tablesEditing, e.g. inserting or deleting using ruled lines
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06F 9/451 - Execution arrangements for user interfaces
A computing device receives user selection of a data source and a lens that specifies supplemental metadata for the data source. The device receives user input to specify a natural language command directed to the data source. In response to the user input, the device determines one or more data fields and/or data values from the data source for interpreting the natural language command in accordance with the metadata from the lens. The device translates the natural language command into one or more executable database queries referencing data fields and/or data values specified in the natural language command. The device executes the one or more database queries to retrieve data from the data source. The device also generates and displays a data visualization using the retrieved data.
G06F 3/0481 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
A method for generating data visualizations includes receiving user selection of a data source, and receiving user input to define a dynamic set according to: (i) user selection of visual marks in a visualization region and/or (ii) user specification of a parameter corresponding to data fields in the data source. The method also includes receiving user input to define a calculation to compare data values for a data field from the data source to data values in the dynamic set. The method further includes identifying a set of rows from the data source whose data values are included in the dynamic set. The method also includes receiving user input to place a data field from the data source in a shelf region, and displaying a data visualization that includes a plurality of visual marks corresponding to data values, of the data field, in the set of rows.
Embodiments are directed to managing data using network computers. A data model that includes a plurality of data objects, a plurality of data relationships, and a plurality of shortcuts may be provided. If portions of the data model being are selected in the user interface for removal from the data model further actions may be performed, including: determining edges and nodes associated with the portion of the data model; determining critical edges that may be associated with nodes included in the portion of the data model; traversing the data model based on the critical edges; determining critical shortcuts based on the traversal and shortcut specifications that may match the critical shortcuts; modifying the data model by deleting each critical shortcut unmatched to the shortcut specifications and deleting the selected portions of the data model along with the associated plurality of nodes and edges; or the like.
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06Q 10/067 - Enterprise or organisation modelling
A computer receives a first user input linking a first output of a first task to a second task. The first task is scheduled for execution at a specific time. The computer receives a second user input selecting a third task from a list of additional tasks that are downstream from the second task. In response to the second user input, the computer links the third task to a second output of the second task. At the specific time, the computer automatically executes the first task and updates the first output of the first task. After updating the first output of the first task, the computer automatically executes the second task that is linked to the first output of the first task, including updating the second output of the second task. After updating the second output of the second task, the computer automatically executes the third task.
The various implementations described herein include methods and devices for recommending phrases for data visualizations. In one aspect, a method includes presenting a data visualization page to a user, the page including a first region for displaying a data visualization and a second region for phrase recommendations. The method further includes obtaining a dataset selected by the user, the dataset including a plurality of fields; and generating a first set of phrase recommendations based on the dataset, each phrase recommendation corresponding to a respective field. The method also includes displaying the first set of phrase recommendations in the second region; and receiving a user selection of a first phrase. The method further includes, in response to the user selection: presenting a data visualization in the first region using the first phrase; and displaying a second set of phrase recommendations generated based on the first phrase.
Embodiments are directed to data processing. A plurality of fact objects and a plurality of attribute objects may be provided such that each of the attribute objects may be associated with one or more fact objects. A fact key may be generated for each of the plurality of fact objects based on information associated with each fact object. Attribute objects associated with each of the plurality of fact objects may be determined based on attribute information associated with each fact object. An attribute key for each of the one or more attribute objects may be generated based on the attribute information. The attribute keys and a plurality of fact keys may be stored at a plurality of storage locations in a data catalog such that each storage location corresponds to one of the plurality of fact keys.
A plurality of interrelated block objects are obtained. Each block object having a respective specification that includes (i) a layout type; (ii) a mark type; (iii) one or more visual encodings; and (iv) one or more data fields of a data source. A respective data field of the one or more data fields is associated with a respective visual encoding of the one or more visual encodings. A respective query generated for each block object of the plurality of block objects is executed to retrieve a respective set of tuples from the data source. Each tuple comprising data values for the respective one or more data fields of the block object. A data visualization is generated in accordance with the respective specifications of the interrelated block objects. Each tuple in each of the respective set of tuples is represented as a visual mark in the data visualization.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 3/04847 - Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
A method executes at a computer system to retrieve data from a database. Upon receiving a database query, the computer system translates the query into an intermediate representation, and estimates a compilation time to compile the intermediate representation into machine executable code. The query execution time to retrieve a result set is also estimated. In accordance with a determination that the query execution time and compilation time satisfy an interpretation criterion, the computer system invokes a byte code interpreter to interpret the intermediate representation and retrieve the result set from the database. In accordance with a determination that the query execution and compilation times satisfy one of a plurality of compilation criteria, the computer system compiles the intermediate representation to form machine code and executes the machine code to retrieve the result set from the database. In some cases, the query intermediate representation is optimized prior to compilation.
A method identifies related data visualizations. A computing device displays a data visualization according to a data source. The data visualization displays of one or more first data fields from the data source, and is displayed according to one or more first metadata fields. The device identifies a collection of predefined data visualizations for the data source. For each element in the collection, the device computes a respective ranking according to a plurality of influence scores, each influence score computed according to comparing data fields and metadata fields of the respective predefined data visualization to the one or more first data fields and the one or more associated first metadata fields. The device then selects a subset of the predefined data visualizations that have top ranking and provides an ordered list of the selected subset, including at least one influence score for each included data visualization.
G06F 16/9035 - Filtering based on additional data, e.g. user or group profiles
G06F 16/908 - Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
G06F 16/909 - Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
A computer system obtains a data model that encodes a data source as a tree of logical tables. Each logical table includes respective data fields of the data source. For each data field in the logical tables, the system automatically assigns a semantic role to the data field based on a concept obtained from a concept graph, a data type of the data field, and data values of the data field. The system determines hierarchies between the data field and other data fields in the data source based on their respective semantic roles. The system validates the data field based on the assigned semantic role and the determined hierarchies. The system displays transformations to clean the data field based on the assigned semantic role. The system transforms data values for the data field according to a user input and updates the logical tables according to the transforming.
A method executes at a computing device having one or more processors and memory. The device identifies a set of objects for a data visualization platform, each object in the set of objects representing a database, a data source, a table, a data field, a user, a visualization worksheet, or a calculated field. The device generates a data model from the set of objects. Each object of the set of objects is represented as a node in the data model and each directed edge in the data model identifies a relationship between a pair of objects. The device generates one or more shortcuts in the data model according to object types of the objects in the set of objects. Each shortcut represents a relationship, between a respective pair of objects, not represented by a directed edge. Then the device stores the data model, including the generated shortcuts, in the memory.
A user selects a data source. The user also selects a first point in time and a second point in time. The visualization platform generates a query to perform a full outer join between (1) a first data set corresponding to the first point in time and (2) a second data set corresponding to the second point in time. The platform then executes the query to retrieve a result set. The platform classifies each record in the retrieved result set as new, present, or removed according to whether the respective record: (1) corresponds only to a record in the second data set; (2) corresponds to records in both the first data set and the second data set; or (3) corresponds only to a record in the first data set. Finally, the platform generates and displays a Sankey diagram or Waterfall chart according to the retrieved result set and the classifications.
A method incorporates data visualization into conversational interfaces. The method receives a user input specifying a natural language command via a conversational interface. The method analyzes the natural language command to determine the type of question. The method also obtains a user preference for viewing responses based on text and/or visualizations. When the user preference includes visualizations and the type of question is answerable using data visualizations, the method: (i) extracts one or more independent analytic phrases from the natural language command; (ii) queries a database using a set of queries based on the extracted analytic phrases, thereby retrieving a data set; and (iii) generates and displays, in the conversational interface, a response incorporating one or more data visualizations, based on the type of question, using the data set.
A computing device displays a data visualization in a graphical user interface. The device receives user input to specify a natural language command related to the data visualization. The device determines that the natural language command includes a metacommand to modify the data visualization by: (1) adding a new data field, or (2) removing one of the one or more first data fields, or (3) replacing one of the one or more first data fields with another data field. The device determines one or more proposed actions in accordance with the metacommand and ranks the proposed actions based on the saliency or weight of a missing term that is inferred from the natural language command. The device receives user selection of a first proposed action. In response to the user selection, the device generates and displays an updated data visualization.
Embodiments are directed to automated investigation of regression or other defects. A time-series of values for a metric associated with an execution of a verification action for a service may be provided. If a metric value in the time-series of values is outside of a control range, further actions may be performed, including: determining a last valid version of the service based on the time-series of values; determining a first invalid version of the service based on the time-series of values; determining changes associated with differences between the last valid version of the service and the first invalid version of the service based on the time-series of values; determining responsible users based on the determined changes; and generating a defect report based on the changes and the metric value that is outside of the control range such that the responsible users are associated with the defect report.
H04L 41/50 - Network service management, e.g. ensuring proper service fulfilment according to agreements
H04L 41/082 - Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
This application is directed to matching edges of polygons representing neighboring regions in a map user application. A computer system obtains a first polygon and a second polygon, and the second polygon is connected to the first polygon via polygon edges that are at least partially mismatched. Automatically and without user intervention, the computer system combines the first polygon and the second polygon to form a joined polygon defined by an outline of the first polygon and the second polygon. A region defined by the second polygon is subtracted from a region defined by the joined polygon to form a new region. The computer system defines an updated first polygon as an outline of the new region and renders, on a screen, the updated first polygon and the second polygon with matching edges.
G06T 11/20 - Drawing from basic elements, e.g. lines or circles
G06T 3/40 - Scaling of whole images or parts thereof, e.g. expanding or contracting
G01C 21/00 - NavigationNavigational instruments not provided for in groups
G06F 3/04845 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
40.
Generating visually simplified calculation expressions corresponding to user manipulation of textual data elements
i; the transformation function ƒ specifies text or string position of at least one contiguous substring; and ƒ has minimal branching among possible transformation functions that satisfy the samples. The computer displays the updated transformation function ƒ in the expression window.
A computing device receives a first user input that includes user selection of a first data field of a data source from a schema information region of a user interface and placement of the first data field into a data visualization region of the user interface. When the first data field corresponds to a geographic data field, the computing device determines longitude and latitude information for data values of the first data field. The computing device generates a map data visualization corresponding to the first data field according to the determined longitude and latitude information. The map data visualization includes a first layer having a first set of data marks corresponding to the first data field. The computing device displays, in the data visualization region, the map data visualization including the first set of data marks.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
A computer system receives a natural language input directed to a data source. In response to receiving the natural language input, and in accordance with a determination that the natural language input specifies an incomplete natural language command directed to the data source, the computer system presents a map widget for selecting geospatial data points from the data source. The map widget includes a map having a plurality of predetermined geographic regions. The computer system receives user specification of a user-defined region in the map included in the map widget. In accordance with receiving the user specification and based on a coverage metric computed for the plurality of geographic regions, the computer system selects one or more geographic regions. The computer system completes the natural language command with the selected geographic regions. The computer system generates and displays a map data visualization according to the completed natural language command.
The various implementations described herein include methods and devices for constructing phrases for data visualizations. In one aspect, a method includes presenting a data visualization page to a user including a visualization region and a phrase region; obtaining a dataset including a plurality of fields; displaying a phrase affordance for constructing a phrase; in response to a user selection of the phrase affordance, presenting a phrase construction menu including a set of fields; in response to a user selection of a field, presenting a set of aggregation operators selected based on a field type of the field; in response to a user selection of an aggregation operator, generating a first phrase using the selected field and the selected aggregation operator; presenting a data visualization generated using the first phrase; and displaying the first phrase as an active phrase in the phrase region.
Embodiments are directed to presenting visualizations over a network. A presentation specification. An overlay may be generated that includes visualizations of presentation objects based on the presentation specification. A video stream of a view of a presenter captured by a presenter station may be provided. A composited video stream may be generated based on the overlay and the video stream. The composited video stream may be provided to a video conference service that distributes the composited video stream to the presenter station and to audience stations. Movements of the presenter may be tracked based on the video stream captured by the presenter station. Gestures may be determined based on the tracked movements. In response to a determined gesture being associated with an interactive feature, activating the interactive feature to update the overlay such that the updated overlay may be included in a recomposited video stream.
G06V 40/20 - Movements or behaviour, e.g. gesture recognition
H04L 65/401 - Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
A method selects a federation engine to process a query. The system receives a query that specifies retrieval of data from multiple data sources at distinct physical locations. The system generates multiple federated query plans. Each federated query plan specifies execution of the query using a respective data source as the federation engine. For each federated query plan, the system forms a feature vector including two or more of: (1) a remote cost estimate for executing query operators on data sources distinct from the respective data source; (2) a local cost estimate for executing query operators on the respective data source; and (3) a data transfer cost estimate for transferring partial results from external data sources to the respective data source. The system predicts runtime for each federated query plan, selects a preferred federated query plan using the predicted runtimes, and the preferred federated query plan specifies the federation engine.
Embodiments are directed to visualizations. A visualization may be provided based on data from a data source such that the visualization includes marks that are associated with from the data source. A mark-of-interest may be determined from the marks based on characteristics of the marks or the visualization. A snapshot of the data may be generated from the data source that may be associated with the visualization and a time that the mark-of-interest is determined. Mark evaluators may be employed to generate evaluation results based on the mark-of-interest and the snapshot data such that the evaluation results may include an explanation narrative or an explanation visualization and such that each evaluation result may be associated with scores that may be based on the evaluation. Evaluation results may be ordered based on their association with the scores. A report that includes the evaluation results may be provided.
Embodiments are directed to managing data visualizations. Candidate data fields from a data source may be determined based on a search expression. The candidate data fields may be displayed in the model panel. A working data model may be generated based on a portion of the candidate data fields such that the portion of the candidate data fields may be included in the working data model. Visualizations may be determined based on recommendation models and the working data model such that a portion of the visualizations may be determined based on shared data fields that may be included in the working data model and the visualizations. A working visualization may be determined based on a visualization listed in the display panel and the working data model such that data fields included in the working data model may be associated with the working visualization.
A method provides visual analysis of datasets. A user selects a data source. In response, the system presents a natural language interface for analysis of data in the data source and presents a map widget for selecting geospatial data points from the data source. A user provides a first user input to specify an incomplete natural language command directed to the data source and provides a second user input to select a region in the map widget. In response to the first user input and the second user input, the system generates and displays a map data visualization according to the first user input and the second user input, including a linguistic description of data points in the selected region. The system continues to display the selected region in the map widget. The map widget is configured to update the data visualization according to user modification of the selected region.
Embodiments are directed to intent driven dashboard recommendations. A plurality of collection specifications that declare visualization declarations may be provided such that each collection specification is associated with an author intent. And attributes-of-interest selected from a data source may be provided. A plurality of collections may be generated based on the plurality of collection specifications, the attributes-of-interest, or data from the data source such that each collection may include visualizations that may be based on the visualization declarations. A preference score may be generated for each collection based on the author intent, visualizations in each collection, or the attributes-of-interest. The plurality of collections may be classified based on the preference scores associated with the classified collections such that the classified collections may be displayed based on the preference scores.
Embodiments are directed to visualization data. A visualization may be provided based on data from a data source such that the visualization includes marks that are associated with from the data source. A mark-of-interest may be determined from the marks based on characteristics of the marks or the visualization. A snapshot of the data may be generated from the data source that may be associated with the visualization and a time that the mark-of-interest is determined. Mark evaluators may be employed to generate evaluation results based on the mark-of-interest and the snapshot data such that the evaluation results may include an explanation narrative or an explanation visualization and such that each evaluation result may be associated with scores that may be based on the evaluation. Evaluation results may be ordered based on their association with the scores. A report that includes the evaluation results may be provided.
A computing device receives user selection of a data source. The computing device receives a user input to specify a level of detail (LOD) expression, which includes a first keyword, a SORT keyword, and an analytic expression. In response to the user input, the computing device identifies one or more data fields from the data source. The device translates the LOD expression into one or more executable database queries referencing the identified data fields. The computing device executes the queries to retrieve data from the data source. The computing device generates and displays a data visualization using the retrieved data.
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).
A computing device generates and displays a data visualization in a data visualization user interface. The data visualization includes a plurality of visual data marks representing data from a data source. The computing device detects a first user input to select a visual data mark of the plurality of visual data marks. In response to detecting the first user input, the computing device identifies a first aggregated data value, for the visual data mark, corresponding to a first data field in the data source. The computing device retrieves a first disaggregated set of data rows corresponding to the first aggregated data value, from a first table, in the data source, containing the first data field. The computing device displays, in the data visualization user interface, a plurality of data rows from the first disaggregated set of data rows.
A computer device receives a user input to specify a natural language command. In response to receiving the user input, the computer device generates a semantic interpretation for the natural language command using a trained word similarity model, based on semantic annotations for a published data source. The computer device queries the published data source based on the semantic interpretation, thereby retrieving a dataset. The computer device generates and displays a data visualization based on the retrieved dataset.
The various implementations described herein include methods and devices for using a messaging system to analyze and distribute data analytics. In one aspect, a method includes displaying a user interface for a communications application, the user interface including a dashboard display area for a group of users. In response to a user input, display of the dashboard display area is replaced with a view corresponding to a data analysis application. The data analysis application is separate from the communications application, and the view corresponding to the data analysis application provides access to reports generated, using credentials of a user of the communications application, without user input to execute or open the data analysis application. A second user input is received requesting to share a report with the selected group of users, and in response, the report is published to the dashboard display area for the selected group of users.
H04L 65/401 - Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
H04L 51/046 - Interoperability with other network applications or services
G06T 11/20 - Drawing from basic elements, e.g. lines or circles
Embodiments are directed to generating metrics based on visualizations. A dashboard that may be associated with source visualizations display a current value of metrics from source visualization models. A classifier may automatically use characteristics from the source visualizations to determine metrics for the source visualization. The source visualization models may be sample to provide values of the metrics across time, at a sampling rate determined by a metric profile. The sampled values may be stored with time values in a metric data store such that the time values may correspond to when the values sampled from the visualization. Metric visualizations may be generated based on the values and the time values such that the metric visualizations display previously sampled values of the metrics.
A computing device displays a user interface for a data preparation application, including a flow pane that visually represents a data preparation flow and a plurality of icons in a flow element palette. Using a feature/version matrix, the device determines that (i) a first subset of parameterized operations represented by a first subset of icons is not supported by the data preparation server application according to a version number of the data preparation server application and (ii) a second subset of parameterized operations represented by a second subset of icons is supported by the data preparation server application. The device provides a first indication that the parameterized operations represented by the icons in the first subset are unavailable to be inserted into the data preparation flow and displays a visual indication that each of the icons in the second subset is available to be inserted.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 9/451 - Execution arrangements for user interfaces
G06F 16/25 - Integrating or interfacing systems involving database management systems
G06F 16/26 - Visual data miningBrowsing structured data
G06F 16/28 - Databases characterised by their database models, e.g. relational or object models
Embodiments are directed to managing visualizations of data. Visualizations to monitor may be determined based on metrics associated with the monitored visualizations. Mark values may be sampled from each monitored visualization such that the sampled mark values may be stored with a timestamp. If an amount of the sampled mark values for a monitored visualization exceeds a threshold value mark models may be trained to classify a portion of the sampled mark values associated with the monitored visualization such that the mark models may predict ranges of values for the classified mark values associated with the monitored visualization. If the portion of the classified mark values associated with the monitored visualization has a value outside of the predicted range values, indicating that the monitored visualization may be associated with an anomalous mark value.
An electronic device has a first device type. The device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the one or more intent types. The device formulates, for each of the intent types, a respective intent specification according to the request. In some implementations, the device determines respective properties of the respective intent specification according to the respective predefined attributes and according to data fields, from the data source, specified in the request. The device generates, for each of the intent types, a respective output specification that specifies a respective recommended data visualization type. The device renders data analysis responsive to the request in accordance with the electronic device having the first device type.
A method builds a regression model for predicting processing times for federated queries using a variety of data sources. The method includes obtaining federated queries (e.g., from benchmarks), and generates a plurality of federated query plans for each federated query. Each federated query plan corresponds to executing a respective federated query using a respective data source as the federation engine. The method includes forming feature vectors for each federated query plan based on cost estimations for executing the respective federated query plan and cost estimations for data transfer. The method further includes training a regression model, using the feature vectors for the plurality of federated query plans, to predict runtimes for executing federated queries using the variety of data sources as a federation engine. Some implementations use the trained regression model to determine a suitable federation engine for a given federated query.
A computer validates relationships between object classes in object models. The computer detects user input to join a first object class and a second object class corresponding to user-selected object icons. The computer also detects user selection of a first linking field from a plurality of data fields for the first object class and user selection of a second linking field from a plurality of data fields for the second object class. In response, the computer generates a relationship that connects the first object class and the second object class according to shared data values of the first linking field and the second linking field and displays a relationship summary, including information regarding cardinality of the relationship and information regarding referential integrity of the relationship. The computer also displays a visual connection between the user-selected object icons representing the first and second object classes.
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06T 11/20 - Drawing from basic elements, e.g. lines or circles
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 16/28 - Databases characterised by their database models, e.g. relational or object models
A computer system receives from a messaging system a first input commencing an analytic conversation between the computer system and an electronic device. The messaging system is communicatively connected with the electronic device and executes a messaging application on the electronic device. The computer system identifies a data source corresponding to the analytic conversation. The computing system receives from the messaging system a second input specifying a natural language command related to the data source. The computer system generates an interpretation corresponding to the natural language command and queries the data source according to the interpretation. The computer system generates a first data visualization using a first subset of data fields from the data source and sends a first representation of the first data visualization to the messaging system, for display on the electronic device.
A computing device generates an initial data visualization according to a visual specification that specifies a data source, a plurality of visual variables, and a plurality of data fields from the data source. The device determines a visualization region based on a display size of the initial data visualization. The device generates a modified data visualization from the initial data visualization according to the determined visualization region, including: (i) identifying a plurality of elements of the initial data visualization, (ii) for each element of the plurality of identified elements, determining a respective semantic weight for the respective element, (iii) grouping the elements into one or more element layers according to the determined semantic weights, (iv) computing spatial metrics for the elements, and (v) executing one or more generalization operations on the elements in accordance with the one or more computed spatial metrics. The computing device displays the modified data visualization.
Embodiments are directed to managing data. A data model that includes data type nodes and relationship edges may be provided. Other data types and other data type relationships may be provided and included in the data model. If a portion of the nodes in the data model may be downstream of leaf nodes in the graphlet: the data model may be traversed to visit the downstream nodes; shortcut edges may be generated to each downstream node associated with shortcut nodes. If a second portion of the nodes in the data model may be upstream of the leaf nodes: the data model may be traversed upwards from the leaf nodes; other shortcut edges may be generated to each node visited in the upwards traversal associated with shortcut nodes.
Embodiments are directed to managing data. A data model that includes data types, data type relationships, shortcuts may be provided. In response to a query for determining a directed path in the data model for a shortcut further actions may be performed including: determining candidate nodes and traversal edges based on the data model, a target data type, and a source data type; generating a tree based on the candidate nodes and the traversal edges; removing leaf nodes of the tree that are not the target data type; removing duplicate branches of the tree that correspond to duplicate traversal edges; determining the directed path in the data model connecting the source data type to the target data type based on the remaining candidate nodes and traversal edges; and generating a response to the query based on the directed path.
A computer generates and displays a data visualization in a data visualization user interface according to placement of data fields, from a data source. The data visualization includes visual data marks representing data from the data source. The computer detects a user input to select a visual data mark. In response to detecting the user input, the computer obtains a data model encoding the data source as a tree of logical tables. The computer identifies one or more aggregated data values for the visual data mark, each of the aggregated data values corresponding to a respective data field in the data model. For each of the aggregated data values, the computer retrieves a respective disaggregated set of data rows from a respective logical table containing the respective data field. The computer displays a summary grid, with a respective tab corresponding to each of the retrieved disaggregated sets of data rows.
A method executes at a computing device having a display, processors, and memory. The device displays a user interface for a data preparation application, including icons in a flow element palette, each icon representing a parameterized operation that can be inserted into data preparation flows in a flow pane of the user interface. A user places icons into the flow pane, visually defining flow elements for a flow that extracts data from selected data sources, transforms the extracted data, and exports the transformed data. The device retrieves the version number of a corresponding server application running on a server. Using a feature matrix, the device determines which flow elements are not supported by the data prep server application according to the version number. When there are flow elements not supported by the data prep server application running on the server, the device indicates this to the user.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 16/26 - Visual data miningBrowsing structured data
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 16/25 - Integrating or interfacing systems involving database management systems
G06F 9/451 - Execution arrangements for user interfaces
G06F 16/28 - Databases characterised by their database models, e.g. relational or object models
Embodiments are directed to managing visualizations of data. A provided data model may include a tree specification that declares parent-child relationships between objects in the data model. In response to a query associated with objects in the data model: employing the parent-child relationships to determine a tree that includes parent objects and child objects from the objects based on the parent-child relationships; determining a root object based on the query and the tree; traversing the tree from the root object to visit the child objects in the tree; determining partial results based on characteristics of the visited child objects such that the partial results are stored in an intermediate table; and providing a response to the query that includes values based on the intermediate table and the partial results.
Embodiments are directed to managing visualizations of data. A provided data model may include a tree specification that declares parent-child relationships between objects in the data model. In response to a query associated with objects in the data model: employing the parent-child relationships to determine a tree that includes parent objects and child objects from the objects based on the parent-child relationships; determining a root object based on the query and the tree; traversing the tree from the root object to visit the child objects in the tree; determining partial results based on characteristics of the visited child objects such that the partial results are stored in an intermediate table; and providing a response to the query that includes values based on the intermediate table and the partial results.
A computing device displays a data visualization user interface that includes a schema region. Each data field displayed in the schema region is visually associated with a respective data object of a plurality of data objects in an object model. The device receives user input to specify a mathematical expression that includes a first data field from a first object and a second data field from a second object. The first object and the second object are distinct objects in the object model. The device generates a calculated data field based on the mathematical expression. The device assigns the calculated data field as a member of a third object in the object model according to relations in the object model connecting the first object to the second object. The device displays the calculated data field, in the schema region, visually associated with the third object.
A method provides visual analysis of datasets. A user selects a data source. In response, the system presents a natural language interface for analysis of data in the data source and presents a map widget for selecting geospatial data points from the data source. A user provides a first user input to specify an incomplete natural language command directed to the data source and provides a second user input to select a region in the map widget. In response to the first user input and the second user input, the system generates and displays a map data visualization according to the first user input and the second user input, including a linguistic description of data points in the selected region. The system continues to display the selected region in the map widget. The map widget is configured to update the data visualization according to user modification of the selected region.
Embodiments are directed to managing character encoding. A plurality characters that are each encoded as code units based on a character code may be provided such that the code units for each character represents a code point of a character encoding scheme. An encoding model may be determined based on the character code, one or more processor features, and a target character code. Process features may be employed to transform the code units into target code units based on the encoding model such that the target code units are based on the target character code and such that the target code units encode the code point for each character. The plurality of target characters may be provided to a target stream such that each target character may be encoded as the target code units.
Embodiments are directed to managing character encoding. A plurality characters that are each encoded as code units based on a character code may be provided such that the code units for each character represents a code point of a character encoding scheme. An encoding model may be determined based on the character code, one or more processor features, and a target character code. Process features may be employed to transform the code units into target code units based on the encoding model such that the target code units are based on the target character code and such that the target code units encode the code point for each character. The plurality of target characters may be provided to a target stream such that each target character may be encoded as the target code units.
Embodiments are directed to managing data using a network computers. A hierarchy model that includes edges that represent dependency relationships between fields may be generated. In response to a query for determining values of metadata associated with an anchor field performing further actions, including: traversing the hierarchy model upwards from the anchor field based on the query, and in response to visiting field nodes in the hierarchy model, collecting the values of the metadata that correspond to the visited field node and terminating the traversal based on a type of the query; in response to visiting a calculation node, terminating the traversal of the hierarchy model associated with the visited calculation node; and in response to visiting a flow node that is dependent on two or more other nodes, terminating the traversal of the hierarchy model. The collected metadata may be provided in a response to the query.
A computer displays, in a user interface, a data field region and an object model visualization region that includes object model icons. The computer detects user input to join a first object class and a second object class and detects user selection of a first linking field and user selection of a second linking field. In response to receiving the user selection of the first linking field and the second linking field, the computer generates a relationship that connects the first object class and second object class according to shared data values of the first linking field and the second linking field. The computer also displays, in the data field region, information regarding cardinality of the relationship and information regarding referential integrity of the relationship. The computer also updates the object model visualization region to display a visual connection between the object icons representing the first and second object classes.
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06T 11/20 - Drawing from basic elements, e.g. lines or circles
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 16/28 - Databases characterised by their database models, e.g. relational or object models
A computing device displays, in a graphical user interface, a data visualization and a plurality of phrases that collectively define the data visualization. The device receives user input to specify a natural language command related to the data visualization. The device determines that the natural language command includes a metacommand to: (1) add a data field to the data visualization, or (2) remove a data field from the data visualization, or (3) replace a data field in the data visualization with another data field. The device determines one or more proposed actions in accordance with the determined metacommand and ranks the proposed actions. The device receives user selection of a first proposed action. In response to the user selection, the device generates and displays an updated data visualization and one or more updated phrases that collectively define the updated data visualization.
A computing device displays a data visualization interface that includes a shelf region and a schema information region. The device receives user input to select a measure data field and a dimension data field from the schema information region. The device generates a custom calculation that groups data values of the dimension data field according to respective distinct data values of the dimension data field and aggregates data values of the measure data field for each of the distinct data values of the dimension data field. The device stores the custom calculation as a new selectable data field and displays the new selectable data field in the schema information region. The device receives user selection of the new selectable data field from the schema information region and placement of the new selectable data field in the shelf region. The device generates and displays a data visualization.
Embodiments are directed to managing data using a network computers. A hierarchy model that includes edges that represent dependency relationships between fields may be generated. In response to a query for determining values of metadata associated with an anchor field performing further actions, including: traversing the hierarchy model upwards from the anchor field based on the query, and in response to visiting field nodes in the hierarchy model, collecting the values of the metadata that correspond to the visited field node and terminating the traversal based on a type of the query; in response to visiting a calculation node, terminating the traversal of the hierarchy model associated with the visited calculation node; and in response to visiting a flow node that is dependent on two or more other nodes, terminating the traversal of the hierarchy model. The collected metadata may be provided in a response to the query.
A computing device displays an initial data visualization according to an initial visual specification that specifies a data source, visual variables, and data fields from the data source. The computing device receives a natural language command that includes a user request for information from the data source. The computing device identifies one or more keywords from the natural language command and determines, based on the keywords and one or more of (i) the data source, (ii) the visual variables, and/or (iii) the data fields of the initial visual specification, that the request indirectly specifies a first visual characteristic in the initial visual specification. The computing device generates one or more queries in accordance with the determining. The computing device executes the queries to retrieve data for a modified data visualization. The computing device generates and displays the modified data visualization.
A method generates a data visualization dashboard using a natural language interface. The method is performed at a computing device having a display, one or more processors, and memory. A user specifies a natural language input directed to a data source, using a first region of a graphical user interface. In response, the computing device parses the natural language input to identify one or more database entities from the data source. For each of the database entities, the computing device determines one or more respective analytical operations for the respective database entity. The device then generates a dashboard, which includes a plurality of data visualizations corresponding to distinct combinations of the analytical operations. The first dashboard is displayed in a second region of the graphical user interface, distinct from the first region.
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
Embodiments are directed to managing data visualizations. A primary visualization that is associated with a data model may be provided such that the primary visualization may be displayed in a display panel. Insight items may be generated based on the primary visualization and the data model such that the insight items may correspond to one or more visualizations that may share one or more portions of the data model and such that the insight items may be displayed in an insight panel. In response to an insight item being selected from the insight panel, additional actions may be performed, including: generating a visualization based on the insight item that is displayed in the display panel instead of the primary visualization; and generating a scratch item that includes a thumbnail view of the primary visualization such that the thumbnail view is displayed in a scratch panel.
At a computer system a graphical user interface is displayed on a display. The graphical user interface includes (a) a schema region displaying data field icons, each data field icon representing a respective data field from a user-selected data source, and (b) a canvas region. In response to receiving user input selecting a data field icon from the schema region and placing it on the canvas region, a block card is displayed on the canvas region. The block card includes user interface affordances to designate (i) a layout type that specifies a row-based arrangement, a column-based arrangement, or an inline arrangement, (ii) a mark type that specifies a shape for visual data marks, and (iii) one or more visual encodings. A data visualization for the data source is generated and displayed according to the layout type, the mark type, and the visual encodings specified on the block card.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
G06F 3/04847 - Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
At a computer system a graphical user interface is displayed that includes a schema region displaying data field icons, each data field icon representing a respective data field, and a canvas region including block cards. Each block card specifies a respective layout type that is one of: a row-based arrangement, a column-based arrangement, or an inline arrangement. Each block card is generated in response to user placement of one or more respective data field icons onto the canvas region. For each block card, a respective database query is generated and executed to retrieve tuples of data for data fields associated with the respective block card. For each retrieved tuple, a respective two-dimensional grid position, including a respective row index and a respective column index, is computed. A data visualization is generated and displayed. Each retrieved tuple is represented as a visual mark displayed at its respective computed grid position.
An electronic device has one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the intent types. Each of the predefined attributes limits a respective data analysis operation of a respective intent type. In response to the request, for each of the intent types, the device formulates a respective intent specification according to the request. The device also applies one or more respective rules corresponding to the respective intent type to determine whether the respective intent type is ambiguous and/or underspecified. When the respective intent type is ambiguous and/or underspecified, the device infers information to resolve the ambiguous and/or underspecified intent.
An electronic device running a first application has one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The device downloads, from a server system, a visual analytics intent library, which is configured to execute across a plurality of applications, including the first application. The device configures the library to execute on the device based on the device running the first application. After the configuring, the device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the one or more intent types. In accordance with the request, for each of the intent types, the device formulates a respective intent specification according to the library. It also determines one or more respective properties of the respective intent specification according to the respective predefined attributes.
At a computer system a number of interrelated block object specifications are generated according to user placement of data field icons on a canvas region. Each block object specification includes a layout type, a mark type, and one or more visual encodings. For each block object specification, a respective query is generated according to the user-selected data field icons that specify the visual encodings for the respective block object specification. Each query is executed to retrieve a respective set of tuples from the data source. Each tuple comprises data values for data fields corresponding to the user-selected data field icons. A data visualization is generated in accordance with the layout type, the mark type, and the visual encodings specified in each of the block object specifications, wherein each tuple in each of the respective set of tuples is represented as a visual mark in the data visualization.
G06F 3/04817 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
G06F 3/0482 - Interaction with lists of selectable items, e.g. menus
87.
APPLYING A VISUAL ANALYTICS INTENT LANGUAGE TO GENERATE DATA VISUALIZATIONS
An electronic device has one or more processors, and memory. The memory stores one or more programs configured for execution by the one or more processors. The electronic device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the intent types. Each of the predefined attributes limits a respective data analysis operation of a respective intent type. In response to the request, for each of the intent types, the electronic device formulates a respective intent specification according to the request, including determining respective properties of the respective intent specification. The electronic device also generates a. respective output specification. The respective output specification includes a respective recommended data visualization type. The respective output specification also includes respective data visualization parameters that specify how to render a data visualization of the respective recommended data visualization type.
A method is performed at a computing device that includes a display, one or more processors, and memory. The device displays a data visualization based on a dataset retrieved from a database. It also displays one or more phrases in a first region. The phrases define the data visualization. The device receives user input in a second region to specify a natural language command related to the displayed data visualization. In response to the user input, the device extracts independent analytic phrases from the command, determines one or more proposed actions based on the extracted phrases, and displays the proposed actions. The device receives user selection of a first proposed action. In response, the device generates an updated data visualization. It displays the updated data visualization and displays one or more updated phrases in the first region. The updated phrases define the updated data visualization.
A method for analyzing data from data sources includes receiving user input to specify a mathematical expression. The mathematical expression includes a first data field from a first object and a second data field from a second object. The first object and the second object are distinct objects of an object model that includes a tree in which each relation between objects represents a respective many-to-one relationship between respective objects. The method further includes generating a calculated data field based on the mathematical expression, and assigning the calculated data field as a member of a third object in the object model according to relations in the tree connecting the first object to the second object.
A method generates data visualizations. A device receives a first user input to specify a natural language command directed to a data source. The natural language command includes a first keyword that is a gradable adjective that modifies a second keyword in the natural language command. The device identifies a numerical data field, from the data source, whose field name co-occurs with the first keyword in natural language utterances in a predefined stored corpus of natural language utterances, based on quantifying co-occurrence using a co-occurrence metric. The device computes a numerical range for values of the numerical data field based on correlation of sentiment polarity of the first keyword and the field name of the numerical data field. The device then generates a data visualization for the data source, based on filtering rows of data from the data source according to the numerical range for the numerical data field.
G06F 16/2457 - Query processing with adaptation to user needs
G06F 40/40 - Processing or translation of natural language
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
91.
Inferring intent and utilizing context for natural language expressions in a data visualization user interface
A computing device displays an initial data visualization according to an initial visual specification that specifies a data source, visual variables, and data fields from the data source. The computing device receives a natural language command that includes a request for information from the data source. The computing device extracts one or more first keywords and determines, based on the first keywords and one or more of (i) the data source, (ii) the visual variables, and/or (iii) the data fields of the initial visual specification, that the request does not directly specify a characteristic in the initial visual specification. The computing device generates a modified visual specification. The computing device generates one or more queries based on the modified visual specification. The computing device executes the one or more queries to retrieve data for a modified data visualization. The computing device generates and displays the modified data visualization.
An electronic device has one or more processors, and memory. The memory stores one or more programs configured for execution by the one or more processors. The electronic device receives a request directed to a data source. The request includes one or more intent types and one or more predefined attributes associated with the intent types. Each of the predefined attributes limits a respective data analysis operation of a respective intent type. In response to the request, for each of the intent types, the electronic device formulates a respective intent specification according to the request, including determining respective properties of the respective intent specification. The electronic device also generates a respective output specification. The respective output specification includes a respective recommended data visualization type. The respective output specification also includes respective data visualization parameters that specify how to render a data visualization of the respective recommended data visualization type.
Embodiments are directed to managing visualizations of data. A visualization associated with one or more community visualizations that are associated with an organization may be displayed. A recommendation score may be generated for each of the community visualizations based on a comparison of meta-data fields. Top ranked community visualizations may be determined based on the recommendation score associated with each of the community visualizations. An influence score may be determined the meta-data fields based on a proportion of a value each meta-data field contributes to the recommendation score of a corresponding top ranked community visualization. A report that includes a rank ordered list of the top ranked community visualizations and the top ranked other meta-data fields may be provided to the user.
Data items are aggregated in a quantile sketch according to a compactor hierarchy. A first number of data items are stored in a first buffer corresponding to a first (i.e., lowest) compaction level of the compactor hierarchy, and a top level number of data items are stored in a top buffer corresponding to a top compaction level of the compactor hierarchy. For a first subset of the first number of data items, each data item is already stored in the top buffer, and a weight of the respective data item stored in the top buffer is increased by 1. For a second subset of the first number of data items, each data item does not match any data item stored in the top buffer, and a second number of data items are selected from the second subset and stored in a second buffer of a second compaction level.
A computing device has a display, one or more processors, and memory. The memory stores one or more programs configured for execution by the one or more processors. The computing device receives, via a first region of a graphical user interface, a first natural language input related to a data source. The first natural language input includes one or more terms. In response to receiving the first natural language input, computing device generates one or more interpretations for the first natural language input, including: determining a first term of the one or more terms that is excluded from the one or more interpretations, and visually de-emphasizing the first term in the first region.
Embodiments are directed to managing sandboxed application extensions. A first request that include includes information that identifies an extension may be provided to an extension server. Information included in a first response may be employed to instantiate an extension shell that corresponds to the extension and embed it in the hosting application such that the extension shell is associated with a first security policy included in the first response. A second request may be provided to the extension server based on information included in the extension shell such that the second request includes an identifier associated with an extension body that corresponds to the extension shell. The first security policy or the second security policy may be employed to enable one or more of the extension shell or the extension body to just access the hosting application or just access the extension server.
G06F 21/53 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by executing in a restricted environment, e.g. sandbox or secure virtual machine
A method generates data visualizations. A device receives a first user input to specify a natural language command directed to a data source. The natural language command includes a first keyword that is a gradable adjective that modifies a second keyword in the natural language command. The device identifies a numerical data field, from the data source, whose field name co-occurs with the first keyword in natural language utterances in a predefined stored corpus of natural language utterances, based on quantifying co-occurrence using a co-occurrence metric. The device computes a numerical range for values of the numerical data field based on correlation of sentiment polarity of the first keyword and the field name of the numerical data field. The device then generates a data visualization for the data source, based on filtering rows of data from the data source according to the numerical range for the numerical data field.
A computing device generates a first set of glyphs from a first data set. Each glyph in the first set of glyphs represents the same set of user-selected columns in a first row of the plurality of rows in the data set. For each glyph in the first set of glyphs, the computing device defines a set of marks to be displayed. Each mark is defined by one or more visual features, with a respective visual feature assigned to each column of the user-selected columns. Each visual feature is displayed with a visual property determined based on a data value in the first row for the respective column. A user specifies a specific visual feature for a first mark from the first set of glyphs. The computing device generates a second set of glyphs. Each glyph in the second set of glyphs includes a mark with the specific visual feature.
A method implements data visualization offline interaction. A user requests a data visualization, and sends the request to a server. The method receives a data model needed to render the data visualization and a data visualization library. The method stores the data model and data visualization library in memory. The method generates the data visualization based on the data model using the data visualization library, and displays the data visualization in a data visualization interface. A user manipulates the data visualization. If there is no connectivity with the server, indicating offline mode, and the user input corresponds to functionality that is available in the offline mode, the method retrieves the stored data model and data visualization library and generates an updated data visualization based on the data model using the visualization library. The updated data visualization is displayed in the data visualization interface.
A method generates data visualizations. A device receives a first user input to specify a natural language command directed to a data source. The natural language command includes a first keyword that is a gradable adjective that modifies a second keyword in the natural language command. The device identifies a numerical data field, from the data source, whose field name co-occurs with the first keyword in natural language utterances in a predefined stored corpus of natural language utterances, based on quantifying co-occurrence using a co-occurrence metric. The device computes a numerical range for values of the numerical data field based on correlation of sentiment polarity of the first keyword and the field name of the numerical data field. The device then generates a data visualization for the data source, based on filtering rows of data from the data source according to the numerical range for the numerical data field.
G06F 16/2457 - Query processing with adaptation to user needs
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range