IP Library › Granted Patent US 12,287,954
Granted Patent B1
US 12,287,954 · App. 17/474,018 · Granted Apr 29, 2025

Generating data analysis dashboard templates for selected data sources

Inventors: Ryan Andrew Atallah (Palo Alto, CA); Yukiko Ishida Anonuevo (Concord, CA)
Assignee: Tableau Software, LLC
G06F3/0484G06F16/243G06F16/26
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 12,287,954
App. No.
17/474,018
Filed
Sep 13, 2021
Granted
Apr 29, 2025
Kind
B1
Art Unit
2152
USPC
707/805
Abstract

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.

Claims (67)

1. A method of generating data analysis templates for visual analytics, comprising:

at a computing device having a display, one or more processors, and memory comprising one or more programs for execution by the one or more processors, including instructions to perform:

receiving, via a graphical user interface, a first natural language input that includes a plurality of terms;

identifying from a plurality of data sources a data source relevant to the first natural language input, the plurality of data sources stored on the computing device or stored remotely, wherein the plurality of terms correspond to at least a first data field of one or more data fields and/or data values from the data source;

designating the first natural language input as trigger text for generating a first data analysis template, the trigger text including the plurality of terms;

receiving, via the graphical user interface, user specification of one or more data visualizations corresponding to the trigger text, each of the one or more data visualizations (i) using a respective one or more data fields, from the data source, corresponding to terms from the trigger text, (ii) having a respective data visualization type; and (iii) corresponding to a respective set of phrases that define the respective data visualization;

receiving a user input for converting the first data field in the trigger text to a first parameterized term;

generating the first data analysis template according to the trigger text, the user input, and the user specification, wherein the first data analysis template includes (i) a parameterized query including the first parameterized term and (ii) a respective updated set of phrases, corresponding to each of the one or more data visualizations, wherein the first data field in the respective set of phrases is replaced by the first parameterized term in the respective updated set of phrases;

rendering the first data analysis template on the graphical user interface, including displaying the first parameterized term with a different visual characteristic from other phrases in the respective set of phrases; and

saving the first data analysis template for subsequent use, wherein in response to receipt of the trigger text via the graphical use interface the computing device initiates a search of the data source using the parameterized query and displays, on the graphical user interface, results of the parameterized query using the one or more data visualizations.

2. The method of claim 1 , further comprising:

receiving, via the graphical user interface, user definition of one or more rules for a subset of terms in the plurality of terms, wherein each rule specifies respective criteria to match a respective term in the subset, and wherein the user definition of the one or more rules includes user designation of:

one or more first terms in the subset as required terms; and

a second term in the subset as an optional term.

3. The method of claim 2 , wherein the one or more first terms include one or more fixed terms.

4. The method of claim 2 , wherein the one or more first terms include one or more variable terms.

5. The method of claim 4 , wherein the one or more variable terms include one or more of:

a variable dimension expression that is limited to being replaced by dimension fields from the data source;

a variable field expression that is limited to being replaced by a subset of data fields from the data source; and

a variable superlative expression that is limited to being replaced by a superlative adjective and a data field from the data source.

6. The method of claim 1 , further comprising receiving user identification of one or more additional data sources for which the first data analysis template is designated.

7. The method of claim 1 , wherein the user specification of the one or more data visualizations further comprises user specification of an order in which the one or more data visualizations are to be displayed.

8. The method of claim 1 , wherein the first natural language input is received via an input box of the graphical user interface.

9. The method of claim 1 , further comprising:

after generating the first data analysis template:

receiving user submission of the first natural language input; and

in response to receiving the user submission:

generating and displaying a first dashboard, corresponding to the first data analysis template, including displaying the one or more data visualizations.

10. The method of claim 1 , further comprising:

displaying, in the graphical user interface, a visualization customization region that includes:

the one or more data visualizations; and

for each of the data visualizations, a respective plurality of phrases that define the respective data visualization.

11. The method of claim 10 , wherein the respective plurality of phrases for a first data visualization includes a first phrase that identifies the first data field.

12. The method of claim 10 , wherein the respective plurality of phrases for a first data visualization includes a first phrase that identifies a second data field, from the data source, that is not included in the first natural language input.

13. The method of claim 1 , wherein the respective data visualization type is selected from the group consisting of a bar chart, a Gantt chart, a line chart, a map, a pie chart, a scatter plot, a tree map, and a text table.

14. A computing device, comprising:

a display device;

one or more processors; and

memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving, via a graphical user interface, a first natural language input that includes a plurality of terms;

identifying from a plurality of data sources a data source relevant to the first natural language input, the plurality of data sources stored on the computing device or stored remotely, wherein the plurality of terms correspond to at least a first data field of one or more data fields and/or data values from the data source;

designating the first natural language input as trigger text for generating a first data analysis template, the trigger text including the plurality of terms;

receiving, via the graphical user interface, user specification of one or more data visualizations corresponding to the trigger text, each of the one or more data visualizations (i) using a respective one or more data fields, from the data source, corresponding to terms from the trigger text, (ii) having a respective data visualization type; and (iii) corresponding to a respective set of phrases that define the respective data visualization;

receiving a user input for converting the first data field in the trigger text to a first parameterized term;

generating the first data analysis template according to the trigger text, the user input, and the user specification, wherein the first data analysis template includes (i) a parameterized query including the first parameterized term and (ii) a respective updated set of phrases, corresponding to each of the one or more data visualizations, wherein the first data field in the respective set of phrases is replaced by the first parameterized term in the respective updated set of phrases;

rendering the first data analysis template on the graphical user interface, including displaying the first parameterized term with a different visual characteristic from other phrases in the respective set of phrases; and

saving the first data analysis template for subsequent use, wherein in response to receipt of the trigger text via the graphical use interface the computing device initiates a search of the data source using the parameterized query and displays, on the graphical user interface, results of the parameterized query using the one or more data visualizations.

15. The computing device of claim 14 , the one or more programs including instructions for:

receiving, via the graphical user interface, user definition of one or more rules for a subset of terms in the plurality of terms, wherein each rule specifies respective criteria to match a respective term in the subset, and wherein the user definition of the one or more rules includes user designation of:

one or more first terms in the subset as required terms; and

a second term in the subset as an optional term.

16. The computing device of claim 15 , wherein the one or more first terms include one or more variable terms, the one or more variable terms including one or more of:

a variable dimension expression that is limited to being replaced by dimension fields from the data source;

a variable field expression that is limited to being replaced by a subset of data fields from the data source; and

a variable superlative expression that is limited to being replaced by a superlative adjective and a data field from the data source.

17. The computing device of claim 14 , wherein the respective data visualization type is selected from the group consisting of: a bar chart, a Gantt chart, a line chart, a map, a pie chart, a scatter plot, a tree map, and a text table.

18. A non-transitory computer-readable storage medium storing one or more programs configured for execution by one or more processors of a computing device that includes a display, the one or more programs comprising instructions for:

receiving, via a graphical user interface, a first natural language input that includes a plurality of terms;

identifying from a plurality of data sources a data source relevant to the first natural language input, the plurality of data sources stored on the computing device or stored remotely, wherein the plurality of terms correspond to at least a first data field of one or more data fields and/or data values from the data source;

designating the first natural language input as trigger text for generating a first data analysis template, the trigger text including the plurality of terms;

receiving, via the graphical user interface, user specification of one or more data visualizations corresponding to the trigger text, each of the one or more data visualizations (i) using a respective one or more data fields, from the data source, corresponding to terms from the trigger text, (ii) having a respective data visualization type; and (iii) corresponding to a respective set of phrases that define the respective data visualization;

receiving a user input for converting the first data field in the trigger text to a first parameterized term;

generating the first data analysis template according to the trigger text, the user input, and the user specification, wherein the first data analysis template includes (i) a parameterized query including the first parameterized term and (ii) a respective updated set of phrases, corresponding to each of the one or more data visualizations, wherein the first data field in the respective set of phrases is replaced by the first parameterized term in the respective updated set of phrases;

rendering the first data analysis template on the graphical user interface, including displaying the first parameterized term with a different visual characteristic from other phrases in the respective set of phrases; and

saving the first data analysis template for subsequent use, wherein in response to receipt of the trigger text via the graphical use interface, the computing device initiates a search of the data source using the parameterized query and displays, on the graphical user interface, results of the parameterized query using the one or more data visualizations.

19. The method of claim 2 , wherein the user definition further comprises user designation of one or more constraints on the one or more first terms, each constraint specifying a respective limited set of values that are designated as matching a respective one of the first terms.

20. The computing device of claim 15 , wherein the user definition further comprises user designation of one or more constraints on the one or more first terms, each constraint specifying a respective limited set of values that are designated as matching a respective one of the first terms.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2022
From: ATALLAH, RYAN ANDREW; ANONUEVO, YUKIKO ISHIDA
To: TABLEAU SOFTWARE, LLC
Reel/Frame 060268/0013 →
References Cited (79)
US 7703021B1 · Flam · 2010 [cited by applicant]
US 8099674B2 · Mackinlay · 2012 [cited by applicant]
US 8375014B1 · Brocato et al. · 2013 [cited by applicant]
US 10515121B1 · Setlur et al. · 2019 [cited by applicant]
US 10546001B1 · Nguyen · 2020 [cited by applicant]
US 10558688B1 · Nguyen et al. · 2020 [cited by applicant]
US 10949444B2 · Keahey · 2021 [cited by examiner]
US 11270483B1 · Chilamakuri · 2022 [cited by examiner]
US 11604794B1 · Nallapati · 2023 [cited by applicant]
US 20050080770A1 · Lueder et al. · 2005 [cited by applicant]
US 20060069605A1 · Hatoun · 2006 [cited by applicant]
US 20090313576A1 · Neumann et al. · 2009 [cited by applicant]
US 20100312602A1 · McLoughlin · 2010 [cited by applicant]
US 20110173680A1 · Bates · 2011 [cited by applicant]
US 20140040871A1 · Schwan et al. · 2014 [cited by applicant]
US 20140229497A1 · Wolfram · 2014 [cited by examiner]
US 20140244625A1 · Seghezzi et al. · 2014 [cited by applicant]
US 20140317155A1 · Treibach-Heck · 2014 [cited by examiner]
US 20150100588A1 · Allen et al. · 2015 [cited by applicant]
US 20160224804A1 · Carasso · 2016 [cited by examiner]
US 20160232537A1 · Nonez et al. · 2016 [cited by applicant]
US 20160283091A1 · Hang et al. · 2016 [cited by applicant]
US 20170308571A1 · McCurley et al. · 2017 [cited by applicant]
US 20180329948A1 · Nijor et al. · 2018 [cited by applicant]
US 20190018904A1 · Russell · 2019 [cited by examiner]
US 20190179495A1 · Watanabe et al. · 2019 [cited by applicant]
US 20190362009A1 · Miseldine et al. · 2019 [cited by applicant]
US 20200012638A1 · Luo et al. · 2020 [cited by applicant]
US 20200089700A1 · Ericson et al. · 2020 [cited by applicant]
US 20200089760A1 · Ericson et al. · 2020 [cited by applicant]
US 20200097302A1 · Deutch · 2020 [cited by applicant]
US 20200104401A1 · Burnett et al. · 2020 [cited by applicant]
US 20200110779A1 · Setlur et al. · 2020 [cited by applicant]
US 20200110803A1 · Djalali et al. · 2020 [cited by applicant]
US 20200134103A1 · Mankovskii · 2020 [cited by examiner]
US 20200134641A1 · Morgan et al. · 2020 [cited by applicant]
US 20200134683A1 · Boren et al. · 2020 [cited by applicant]
US 20200174755A1 · Rose et al. · 2020 [cited by applicant]
US 20200236013A1 · Mocanu · 2020 [cited by applicant]
US 20200293167A1 · Blyumen · 2020 [cited by applicant]
US 20200334238A1 · Sherman · 2020 [cited by examiner]
US 20200380432A1 · Wang et al. · 2020 [cited by applicant]
US 20210117056A1 · Kuo et al. · 2021 [cited by applicant]
US 20210182283A1 · Carney et al. · 2021 [cited by applicant]
US 20210224328A1 · Schrupp et al. · 2021 [cited by applicant]
US 20210225529A1 · Viengkham et al. · 2021 [cited by applicant]
US 20210232920A1 · Parangi et al. · 2021 [cited by applicant]
US 20210342125A1 · Burnett · 2021 [cited by applicant]
US 20210342338A1 · Nocedal De La Garza · 2021 [cited by examiner]
US 20210342785A1 · Mann · 2021 [cited by applicant]
US 20210349581A1 · Egozi · 2021 [cited by applicant]
US 20210406325A1 · Sinn et al. · 2021 [cited by applicant]
US 20220050695A1 · Gajendran et al. · 2022 [cited by applicant]
US 20220358286A1 · Wilson-Thomas et al. · 2022 [cited by applicant]
US 20220405314A1 · Du · 2022 [cited by applicant]
US 20230109718A1 · Polen · 2023 [cited by applicant]
Dashevsky, “23 Cool Non-Math Things You Can Do With Wolfram Alpha”, https://www.pcmag.com/news/23-cool-non-math-things-you-can-do-with-wolfram-alpha, May 16, 2016. (Year: 2016). [cited by examiner]
Wolfram et al. “Launching the Wolfram Data Repository: Data Publishing that Really Works”, Apr. 20, 2017 (Year: 2017). [cited by examiner]
Atallah, Office Action, U.S. Appl. No. 17/368,783, filed Dec. 27, 2021, 38 pgs. [cited by applicant]
Atallah, Final Office Action, U.S. Appl. No. 17/368,783, filed Jul. 25, 2022, 26 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/368,783, filed Oct. 6, 2023, 30 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/357,912, filed Feb. 1, 2022, 25 pgs. [cited by applicant]
Atallah, Notice of Allowance, U.S. Appl. No. 17/357,912, filed Jul. 8, 2022, 12 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/473,992, filed Jun. 14, 2023, 42 pgs. [cited by applicant]
Atallah, Final Office Action, U.S. Appl. No. 17/473,992, filed Nov. 2, 2023, 50 pgs. [cited by applicant]
Gao, Tong, et al. “Datatone: Managing ambiguity in natural language interfaces for data visualization.” Proceedings of the 28th annual acm symposium on user interface software & technology. 2015, pp. 489-500. (Year: 201… [cited by applicant]
Giannakopoulou, Dimitra, et al. “Automated formalization of structured natural language requirements.” Information and Software Technology 137 (Apr. 21, 2021) 106590, pp. 1-19 (Year: 2021). [cited by applicant]
Mavin, Alistair, et al. “Easy approach to requirements syntax (EARS).” 2009 17th IEEE International Requirements Engineering Conference. IEEE, 2009, pp. 317-322 (Year: 2009). [cited by applicant]
Mazo, Rall, et al. “Towards a new template for the specification of requirements in semi-structured natural language.” Journal of Software Engineering Research and Development 8 (2020), pp. 1-16 (Year: 2020). [cited by applicant]
Narechania, Arpit, et al. “N L4DV: A toolkit for generating analytic specifications for data visualization from natural language queries. ” IEEE Transactions on Visualization and Computer Graphics 27.2 (2020), pp. 369-3… [cited by applicant]
Setlur, Vidya, et al. “Eviza: A natural language interface for visual analysis.” Proceedings of the 29th annual symposium on user interface software and technology. 2016, p. 365-377. (Year: 2016). [cited by applicant]
D. Song et al., “Building and Querying an Enterprise Knowledge Graph,” in IEEE Transactions on Services Computing, Vpl. 12, No. 3, pp. 356-369, May 1-Jun. 2019, doi: 10.1109/TSC.2017.2711600, (Year 2019). [cited by applicant]
F. Siasar Djahantighi, M. Norouzifard, S.H. Davarpanah and M.H. Shenassa, “Using Natural Language Processing in Order to Create SQL queries,” 2008 International Conference on Computer and Communication Engineering, 2008… [cited by applicant]
Mannheimer, Office Action, U.S. Appl. No. 17/521,820, filed Jan. 13, 2023, 18 pgs. [cited by applicant]
Mannheimer, Final Office Action, U.S. Appl. No. 17/521,820, filed May 8, 2023, 21 pgs. [cited by applicant]
Miller, Office Action, U.S. Appl. No. 17/878,821, filed Aug. 24, 2023, 17 pgs. [cited by applicant]
Miller, Final Office Action, U.S. Appl. No. 17/878,821, filed Dec. 15, 2023, 21 pgs. [cited by applicant]
Atallah, Notice of Allowance, U.S. Appl. No. 17/473,992, filed Jul. 5, 2024, 16 pgs. [cited by applicant]
Atallah, Notice of Allowance U.S. Appl. No. 17/368,783, filed Mar. 28, 2024, 9 pgs. [cited by applicant]
Cited By (2)
US 12,681,587 US 12,717,811