EP4028902A1

Utilizing appropriate measure aggregation for generating data visualizations of multi-fact datasets

Abstract

This record has no abstract on file.

EP4028902A1, drawing sheet 1
Sheet 1 of 29

Term

13.9 yearsto projected expiry

Projected expiry 7 August 2040, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

19 claims: 3 independent, 16 dependent

  1. 1
    Claims of equivalent WO 2021050182 A1 What is claimed is:1. A method of generating data visualizations, comprising: at a computer having a display, 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 a data source, a plurality of visual variables, and a plurality of data fields from the data source, wherein each of the visual variables is associated with either (i) a respective one or more of the data fields or (ii) one or more filters, and each of the data fields is identified as either a dimension or a measure;obtaining a data model encoding the data source as a tree of logical tables, each logical table having its own physical representation and including a respective one or more logical fields, each logical field corresponding to either a data field or a calculation that spans one or more logical tables, wherein each edge of the tree connects two logical tables that are related;generating a dimension subquery based on logical tables that supply the data fields for the dimensions and the filters;generating, for each measure, based on the logical tables that supply the data fields for the respective measure and the filters, an aggregated measure subquery grouped by the dimensions;forming a final query by joining, using the dimensions, the dimension subquery to each of the aggregated measure subqueries;executing the final query against the data source to retrieve tuples that comprise distinct ordered combinations of data values for the data fields;and building and displaying a data visualization according to the data fields in the tuples and according to the visual variables to which each of the data fields is associated.
  2. 10
    11. 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 a data source, a plurality of visual variables, and a plurality of data fields from the data source, wherein each of the visual variables is associated with either (i) a respective one or more of the data fields or (ii) one or more filters, and each of the data fields is identified as either a dimension or a measure;obtaining a data model encoding the data source as a tree of logical tables, each logical table having its own physical representation and including a respective one or more logical fields, each logical field corresponding to either a data field or a calculation that spans one or more logical tables, wherein each edge of the tree connects two logical tables that are related;generating a dimension subquery based on logical tables that supply the data fields for the dimensions and the filters;generating, for each measure, based on the logical tables that supply the data fields for the respective measure and the filters, an aggregated measure subquery grouped by the dimensions;forming a final query by joining, using the dimensions, the dimension subquery to each of the aggregated measure subqueries;executing the final query against the data source to retrieve tuples that comprise distinct ordered combinations of data values for the data fields;and building and displaying a data visualization according to the data fields in the tuples and according to the visual variables to which each of the data fields is associated.
  3. 11
    12. The computer system of claim 11, wherein generating each aggregated measure subquery comprises:computing a measure sub-tree of the tree of logical tables, wherein the measure sub tree is a minimum sub-tree required to supply the data fields for a respective measure;computing a dimension-filter sub-tree of the tree of logical tables, wherein the dimension-filter sub-tree is a minimum sub-tree required to supply all the physical inputs for the dimensions and the filters;in accordance with a determination that the dimension-filter sub-tree does not share any logical table with the measure sub-tree, adding a neighboring logical table from the measure sub-tree to the dimension-filter sub-tree;compiling the measure sub-tree to obtain a measure join tree and compiling the dimension-filter sub-tree to obtain a dimension-filter join tree;layering calculations and filters over the measure join tree and the dimension-filter join tree to obtain an updated measure sub-tree and an updated dimension-filter sub-tree, respectively;de-duplicating the updated dimension-filter sub-tree by applying a group-by operation that uses the dimensions and linking fields that include (i) keys from relationships between the logical tables and (ii) the physical input fields of the calculations shared with the measure sub-tree, to obtain a de-duplicated dimension-filter sub-tree;and combining the de-duplicated dimension-filter sub-tree with the updated measure sub tree to obtain the aggregated measure subquery.
  4. 12
    13. The computer system of claim 12, wherein compiling the measure sub-tree comprises inner joining logical tables in the measure sub-tree to obtain the measure join tree.
  5. 19
    20. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having a display, one or more processors, and memory, the one or more programs comprising instructions for:receiving a visual specification, which specifies a data source, a plurality of visual variables, and a plurality of data fields from the data source, wherein each of the visual variables is associated with either (i) a respective one or more of the data fields or (ii) one or more filters, and each of the data fields is identified as either a dimension or a measure;obtaining a data model encoding the data source as a tree of logical tables, each logical table having its own physical representation and including a respective one or more logical fields, each logical field corresponding to either a data field or a calculation that spans one or more logical tables, wherein each edge of the tree connects two logical tables that are related;generating a dimension subquery based on logical tables that supply the data fields for the dimensions and the filters;generating, for each measure, based on the logical tables that supply the data fields for the respective measure and the filters, an aggregated measure subquery grouped by the dimensions;forming a final query by joining, using the dimensions, the dimension subquery to each of the aggregated measure subqueries;executing the final query against the data source to retrieve tuples that comprise distinct ordered combinations of data values for the data fields;and building and displaying a data visualization according to the data fields in the tuples and according to the visual variables to which each of the data fields is associated.