IP Library › Granted Patent US 10,902,045
Granted Patent B2
US 10,902,045 · App. 16/134,907 · Granted Jan 26, 2021

Natural language interface for building data visualizations, including cascading edits to filter expressions

Inventors: Jeffrey Ericson (Menlo Park, CA); Sanaz Golbabaei (Palo Alto, CA); Theodore Kornish (Palo Alto, CA); Vidya Setlur (Portola Valley, CA); Alex Djalali (Los Gatos, CA)
Assignee: Tableau Software, Inc.
G06F16/358G06F3/048G06F16/335G06F16/904G06F40/166G06F40/205G06F40/30G06F40/40G06F3/0482
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,902,045
App. No.
16/134,907
Granted
Jan 26, 2021
Kind
B2
Abstract

A method is performed at a computing device having a display, one or more processors, and memory. The device displays a graphical user interface on the display. A user provides a natural language input, which specifies a filter, including a first data field, a relation, and a first comparison value. The user then replaces the first data field in the filter with a second data field. In response to replacing the first data field, the device automatically replaces the first comparison value with a second comparison value. The second comparison value corresponds to the data type of the second data field. In some instances, the device also updates the relation based on the data type of the second data field. The device then displays an updated data visualization according to the updated filter.

Claims (48)

1. A method, comprising:

at a computing device coupled with a display, the computing device having one or more processors and memory storing one or more programs configured for execution by the one or more processors:

displaying a graphical user interface on the display;

receiving, from a user, a natural language input that specifies a filter, including a first data field, a relation, and a first comparison value;

displaying the natural language input in an input box in the graphical user interface;

receiving, from the user, a user input, in the input box, to replace the first data field in the filter with a second data field;

in response to receiving the user input, automatically replacing, within the input box, the first comparison value with a second comparison value, wherein:

the second comparison value corresponds to a data type of the second data field;

the second comparison value is included in a domain of the second data field; and

the second comparison value is selected based on a sampling of data values for the second data field; and

displaying, on the graphical user interface, an updated data visualization according to the updated filter.

2. The method of claim 1 , further comprising in response to receiving the user input, updating the relation based on the data type of the second data field.

3. The method of claim 1 , wherein a domain of the first data field includes the first comparison value.

4. The method of claim 1 , wherein the data type of the second data field is different from a data type of the first data field.

5. The method of claim 4 , wherein the first data field has a quantitative data type and the second data field has a categorical data type.

6. The method of claim 4 , wherein the first data field has a categorical data type and the second data field has a quantitative data type.

7. The method of claim 4 , wherein the first data field has a measure data type and the second data field has a dimension data type.

8. The method of claim 4 , wherein the first data field has a dimension data type and the second data field has a measure data type.

9. The method of claim 1 , further comprising, before receiving the update to the filter specification, displaying, on the graphical user interface, an initial data visualization, distinct from the updated data visualization, which applies the specified filter.

10. A computing device, coupled with a display, comprising:

one or more processors;

memory storing one or more programs configured for execution by the one or more processors, the one or more programs including instructions for:

displaying a graphical user interface on the display;

receiving, from a user, a natural language input that specifies a filter, including a first data field, a relation, and a first comparison value;

displaying the natural language input in an input box in the graphical user interface;

receiving, from the user, a user input, in the input box, to replace the first data field in the filter with a second data field;

in response to receiving the user input, automatically replacing, within the input box, the first comparison value with a second comparison value, wherein:

the second comparison value corresponds to a data type of the second data field;

the second comparison value is included in a domain of the second data field; and

the second comparison value is selected based on a sampling of data values for the second data field; and

displaying, on the graphical user interface, an updated data visualization according to the updated filter.

11. The computing device of claim 10 , further comprising in response to receiving the user input, updating the relation based on the data type of the second data field.

12. The computing device of claim 10 , wherein a domain of the first data field includes the first comparison value.

13. The computing device of claim 10 , wherein the data type of the second data field is different from a data type of the first data field.

14. The computing device of claim 13 , wherein the first data field has a quantitative data type and the second data field has a categorical data type.

15. The computing device of claim 13 , wherein the first data field has a categorical data type and the second data field has a quantitative data type.

16. The computing device of claim 10 , further comprising, before receiving the update to the filter specification, displaying, on the graphical user interface, an initial data visualization, distinct from the updated data visualization, which applies the specified filter.

17. A non-transitory computer-readable storage medium storing one or more programs configured for execution by the one or more processors, the one or more programs including instructions for:

displaying a graphical user interface on the display;

receiving, from a user, a natural language input that specifies a filter, including a first data field, a relation, and a first comparison value;

displaying the natural language input in an input box in the graphical user interface;

receiving, from the user, a user input, in the input box, to replace the first data field in the filter with a second data field;

in response to receiving the user input, automatically replacing, within the input box, the first comparison value with a second comparison value, wherein:

the second comparison value corresponds to a data type of the second data field;

the second comparison value is included in a domain of the second data field; and

the second comparison value is selected based on a sampling of data values for the second data field; and

displaying, on the graphical user interface, an updated data visualization according to the updated filter.

18. The computer-readable storage medium of claim 17 , wherein a domain of the first data field includes the first comparison value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2026
From: TABLEAU SOFTWARE, LLC
To: SALESFORCE, INC.
Reel/Frame 076161/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2019
From: ERICSON, JEFFREY; GOLBABAEI, SANAZ; KORNISH, THEODORE; SETLUR, VIDYA; DJALALI, ALEX
To: TABLEAU SOFTWARE, INC.
Reel/Frame 049324/0459 →
Continuity (1)
Related Publication 20200089700A1 · Mar 19, 2020
Cited By (1)
US 12,271,572