Generating data visualizations according to an object model of selected data sources
US-2020125559-A1 · Apr 23, 2020 · US
US11620315B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11620315-B2 |
| Application number | US-201815911026-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 2, 2018 |
| Priority date | Oct 9, 2017 |
| Publication date | Apr 4, 2023 |
| Grant date | Apr 4, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.