Using an object model of heterogeneous data to facilitate building data visualizations

US11620315B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11620315-B2
Application numberUS-201815911026-A
CountryUS
Kind codeB2
Filing dateMar 2, 2018
Priority dateOct 9, 2017
Publication dateApr 4, 2023
Grant dateApr 4, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The process receives a visual specification, which specifies data sources, visual variables, and data fields from the data sources. Each visual variable is associated with one or more data fields and each data field is either a dimension or a measure. For each measure m, the process identifies a set R(m) consisting of dimensions that are reachable from the measure by a sequence of many-to-one relationships in an object model for the data sources. For each distinct set R, the process forms a data field set S, consisting of each dimension in R and each measure m for which R(m)=R. For each set S and for each measure in the set S, the process aggregates values of the measure according to the dimensions in S. The process builds a data visualization according to the data fields in the set S and the visual variables they are associated with.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of generating data visualizations, comprising: at a computer having one or more processors, and memory storing one or more programs configured for execution by the one or more processors: receiving a visual specification, which specifies one or more data sources, a plurality of visual variables, and a plurality of data fields from the one or more data sources, wherein each visual variable is associated with a respective one or more of the data fields and each of the data fields is identified as either a dimension d or a measure m; for each measure m of the data fields, identifying a respective reachable dimension set R(m) consisting of all dimensions d, of the data fields, that are reachable from the respective measure m by a sequence of many-to-one relationships in a predefined object model for the one or more data sources; for each distinct reachable dimension set R, forming a respective data field set S of the data fields, wherein S consists of each dimension in R and each measure m of the data fields for which R(m)=R; and for each data field set S: for each measure m in the respective data field set S, rolling up values of the measure m to a level of detail specified by the respective dimensions in the respective data field set S; and building a respective data visualization according to the data fields in the respective data field set S and according to the respective visual variables to which each of the data fields in S is associated. 2. The method of claim 1 , wherein the visual specification further includes one or more additional visual variables that are not associated with any data fields from the one or more data sources. 3. The method of claim 1 , wherein building the respective data visualization further comprises retrieving tuples of data from the one or more data sources using one or more database queries generated from the visual specification. 4. The method of claim 3 , wherein the tuples include data aggregated according to the respective dimensions in the respective data field set S. 5. The method of claim 3 , further comprising displaying the respective data visualization in a graphical user interface for the computer. 6. The method of claim 5 , wherein displaying the data visualization comprises generating a plurality of visual marks, each mark corresponding to a respective tuple retrieved from the one or more data sources. 7. The method of claim 5 , wherein the graphical user interface includes a data visualization region, the method further comprising displaying the data visualization in the data visualization region. 8. The method of claim 1 , wherein each of the visual variables is selected from the group consisting of: rows attribute, columns attribute, filter attribute, color encoding, size encoding, shape encoding, and label encoding. 9. The method of claim 1 , wherein a dimension d is reachable from a measure m when the dimension d and the measure m are in a same class in the predefined object model, or else the measure m is an attribute of a first class C 1 in the predefined object model, the dimension d is an attribute of an nth class C n the object model, with n≥2, and there is a sequence of zero or more intermediate classes C 2 , . . . , C n−1 in the predefined object model such that there is a many-to-one relationship between the classes C i and C i+1 for each i=1, 2, . . . , n−1. 10. The method of claim 1 , wherein rolling up values of the measure m to a level of detail specified by the respective dimensions in the respective data field set S comprises partitioning rows of a data table containing the measure m into groups according to the respective dimensions in the respective data field set S, and computing a single aggregated value for each group. 11. The method of claim 10 , wherein computing the single aggregated value comprises applying an aggregate function selected from the group consisting of: SUM, COUNT, COUNTD, MIN, MAN AVG, MEDIAN, ATTR, PERCENTILE, STDEV, STDEVP, VAR, and VARP. 12. A computer system for generating data visualizations, comprising: one or more processors; and memory; wherein the memory stores one or more programs configured for execution by the one or more processors, and the one or more programs comprising instructions for: receiving a visual specification, which specifies one or more data sources, a plurality of visual variables, and a plurality of data fields from the one or more data sources, wherein each visual variable is associated with a respective one or more of the data fields and each of the data fields is identified as either a dimension d or a measure m; for each measure m of the data fields, identifying a respective reachable dimension set R(m) consisting of all dimensions d, of the data fields, that are reachable from the respective measure m by a sequence of many-to-one relationships in a predefined object model for the one or more data sources; for each distinct reachable dimension set R, forming a respective data field set S of the data fields, wherein S consists of each dimension in R and each measure m of the data fields for which R(m)=R; and for each data field set S: for each measure m in the respective data field set S, rolling up values of the measure m to a level of detail specified by the respective dimensions in the respective data field set S; and building a respective data visualization according to the data fields in the respective data field set S and according to the respective visual variables to which each of the data fields in S is associated. 13. The computer system of claim 12 , wherein building the respective data visualization further comprises retrieving tuples of data from the one or more data sources using one or more database queries generated from the visual specification. 14. The computer system of claim 13 , wherein the tuples include data aggregated according to the respective dimensions in the respective data field set S. 15. The computer system of claim 13 , wherein the one or more programs further comprise instructions for displaying the respective data visualization in a graphical user interface for the computer. 16. The computer system of claim 15 , wherein displaying the data visualization comprises generating a plurality of visual marks, each mark corresponding to a respective tuple retrieved from the one or more data sources. 17. The computer system of claim 12 , wherein each of the visual variables is selected from the group consisting of: rows attribute, columns attribute, filter attribute, color encoding, size encoding, shape encoding, and label encoding. 18. The computer system of claim 12 , wherein a dimension d is reachable from a measure m when the dimension d and the measure m are in a same class in the predefined object model, or else the measure m is an attribute of a first class C 1 in the predefined object model, the dimension d is an attribute of an nth class C n the object model, with n≥2, and there is a sequence of zero or more intermediate classes C 2 , . . . , C n−1 in the predefined object model such that there is a many-to-one relationship between the classes C i and C i+1 for each i=1, 2, . . . , n−1. 19. The computer system of claim 12 , wherein rolling up values of the measure m to a level of detail specified by the respective dimensions in the respective data field set S comprises partitioning rows of a data table containing the measure m into groups according to the respective dimensions in the respective data field set S, and computing a single

Assignees

Inventors

Classifications

  • Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title

  • Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses · CPC title

  • Visual data mining; Browsing structured data · CPC title

  • Presentation of query results · CPC title

  • Tablespace storage structures; Management thereof · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11620315B2 cover?
The process receives a visual specification, which specifies data sources, visual variables, and data fields from the data sources. Each visual variable is associated with one or more data fields and each data field is either a dimension or a measure. For each measure m, the process identifies a set R(m) consisting of dimensions that are reachable from the measure by a sequence of many-to-one r…
Who is the assignee on this patent?
Tableau Software Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/288. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).