# US 11,030,256 B2 · Methods and user interfaces for visually analyzing data visualizations with multi-row calculations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,256 B2
- Document ID: US11030256B2
- Status: Granted
- Kind: B2
- Application number: 16/675,122
- Filed: 2019-11-05
- Published: 2021-05-06
- Granted: 2021-06-08
- Earliest claimed: 2019-11-05
- Assignees: Tableau Software, Inc.
- Applicants: Tableau Software, Inc.
- Inventors: Justin Talbot; Amy Nicole Forstrom; Daniel Cory; Christian Gabriel Eubank; Jeffrey Mark Booth, Jr.; Nicolas Borden
- Web page: https://patentgrep.com/patent/US11030256B2

## CPC

- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/904: Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957)
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/244: {Grouping and aggregation}
- G06F 16/2445: {Data retrieval commands; View definitions}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F 16/287: {Visualization; Browsing}
- G06F 16/9027: {Trees}
- G06F 40/00: Handling natural language data (speech analysis or synthesis, speech recognition G10L)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A user selects a data source, and a computer displays a data visualization in a data visualization user interface according to the data source. The data visualization includes visual data marks representing data from the data source. The user selects a subset of the visual data marks. In response, the computer displaying a view data window having a summary of the selected data marks. The computer obtains a data model encoding the data source as a tree of logical tables, each including one or more logical fields. Each logical field corresponds to either a data field or a calculation that spans one or more logical tables. Each edge of the tree connects two logical tables that are related. The computer identifies aggregate measures corresponding to the selected data marks, and displays each aggregate measure in the view data window.

## Claims

### Claim 1

A method of visually analyzing multi-row calculations for 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 a data source;
displaying a data visualization in a data visualization user interface, according to placement of data fields, from the data source, in shelves of the user interface, wherein the data visualization comprises a plurality of visual data marks representing data from the data source;
detecting a first user input to select a subset of the visual data marks;
in response to detecting the first user input:
displaying a view data window including a summary of the selected subset of visual data marks;
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, and each data field is either a measure or a dimension;
determining, based on the data model, one or more aggregate measures corresponding to the selected subset of visual data marks, wherein each aggregate measure is aggregated from a plurality of logical tables of the data model; and
displaying each aggregate measure of the one or more aggregate measures in the view data window, each aggregate measure displayed as a tab in the view data window.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, in response to detecting the first user input, visually highlighting the selected subset of the visual data marks.

### Claim 3 (depends on 1)

The method of claim 1, wherein the view data window is displayed as a side panel or a pop up window.

### Claim 4 (depends on 1)

The method of claim 1, further comprising displaying each aggregate measure according to its disaggregated level of detail.

### Claim 5 (depends on 4)

The method of claim 4, further comprising displaying one or more dimensions referenced in the one or more aggregate measures in the data visualization.

### Claim 6 (depends on 5)

The method of claim 5, further comprising ordering the one or more dimensions according to a visual specification.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
detecting a second user input to show data fields of a respective aggregate measure; and
in response to detecting the second user input, displaying data fields for the respective aggregate measure.

### Claim 8 (depends on 1)

The method of claim 1, further comprising, in accordance with a determination that a plurality of aggregate measures is aggregated from a same set of logical tables, displaying a single instance of the plurality of aggregate measures in the view data window.

### Claim 9 (depends on 1)

The method of claim 1, further comprising, in accordance with a determination that a plurality of aggregate measures is aggregated from a first logical table: (i) ceasing to display the plurality of aggregate measures, and (ii) displaying the first logical table, in the view data window.

### Claim 10 (depends on 1)

The method of claim 1, further comprising displaying, in the view data window, dimensions and calculations referenced in the selected subset of visual data marks.

### Claim 11 (depends on 10)

The method of claim 10, further comprising displaying, in the view data window, one or more measures for each calculation referenced in the selected subset of visual data marks.

### Claim 12 (depends on 1)

The method of claim 1, further comprising displaying, in the view data window, one or more level of detail calculations referenced in the selected subset of visual data marks.

### Claim 13 (depends on 12)

The method of claim 12, wherein:
level of detail calculations that have Fixed calculation types and that have dimensions that come from a single logical table are displayed using the single logical table; and
level of detail calculations that have calculation types other than Fixed are displayed separately.

### Claim 14 (depends on 12)

The method of claim 12, wherein each level of detail calculation that references more than one logical table is displayed using its corresponding Least Common Ancestor (LCA) logical table.

### Claim 15 (depends on 1)

The method of claim 1, further comprising displaying, in the view data window, a respective label or a name to identify each aggregate measure.

### Claim 16

A computer system for displaying object models for data sources, comprising:
a display;
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 comprise instructions for:
receiving user selection of a data source;
displaying a data visualization in a data visualization user interface, according to placement of data fields, from the data source, in shelves of the user interface, wherein the data visualization comprises a plurality of visual data marks representing data from the data source;
detecting a first user input to select a subset of the visual data marks;
in response to detecting the first user input:
displaying a view data window including a summary of the selected subset of visual data marks;
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, and each data field is either a measure or a dimension;
determining, based on the data model, one or more aggregate measures that are measures corresponding to the selected subset of visual data marks, wherein each aggregate measure is aggregated from a plurality of logical tables of the data model;
displaying each aggregate measure of the one or more aggregate measures in the view data window; and
in accordance with a determination that a plurality of aggregate measures is aggregated from a same set of logical tables, displaying a single instance of the plurality of aggregate measures in the view data window.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein the one or more programs further comprise instructions for displaying each aggregate measure according to its disaggregated level of detail.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein the one or more programs further comprise instructions for displaying one or more dimensions referenced in the one or more aggregate measures in the data visualization.

### Claim 19

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 user selection of a data source;
displaying a data visualization in a data visualization user interface, according to placement of data fields, from the data source, in shelves of the user interface, wherein the data visualization comprises a plurality of visual data marks representing data from the data source;
detecting a first user input to select a subset of the visual data marks;
in response to detecting the first user input:
displaying a view data window including a summary of the selected subset of visual data marks;
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, and each data field is either a measure or a dimension;
determining, based on the data model, one or more aggregate measures corresponding to the selected subset of visual data marks, wherein each aggregate measure is aggregated from a plurality of logical tables of the data model;
displaying each aggregate measure of the one or more aggregate measures in the view data window; and
in accordance with a determination that a plurality of aggregate measures is aggregated from a first logical table: (i) ceasing to display the plurality of aggregate measures, and (ii) displaying the first logical table, in the view data window.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein each aggregate measure is displayed as a tab in the view data window.
