| CPC G06F 16/248 (2019.01) [G06F 16/2282 (2019.01); G06F 16/24556 (2019.01); G06F 16/2456 (2019.01)] | 20 Claims |

|
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 user selection of one or more data fields from a data source and user placement of the one or more data fields into a shelf region of a user interface, the data source including a plurality of data fields and each of the data fields is either a dimension or a measure;
in accordance with receiving the user selection and the user placement:
obtaining a data model encoding the data source as a tree of logical tables, each logical table including a respective one or more logical fields, each logical field corresponding to a measure data field or a dimension data field of the data source, 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;
generating, for each measure, based on the logical tables that supply the data fields for the respective measure, a respective 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
generating and displaying, in the user interface, a data visualization according to the data fields in the tuples.
|