# US 12,602,845 B2 · Universal state representations of visualizations for different types of data models

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

- Number: US 12,602,845 B2
- Document ID: US12602845B2
- Status: Granted
- Kind: B2
- Application number: 18/463,163
- Filed: 2023-09-07
- Published: 2024-12-19
- Granted: 2026-04-14
- Earliest claimed: 2023-06-16
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Jie Yu; Philip Kin Sung Lau; Yue Qian Huang; Rui Liu
- Web page: https://patentgrep.com/patent/US12602845B2

## CPC

- G06T 11/23: using straight lines or curves
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Some embodiments provide a non-transitory machine-readable medium that stores a program. The program may receive a first selection of a data model as a data source for a visualization, wherein the data model specifies data to be organized according to a set of measures and a set of dimensions. The program may receive a second selection of a dimension value for a dimension in the set of dimensions, wherein each measure in the set of measures is a particular dimension value for the dimension. The program may in response to the second selection, generating a state representation of the visualization that includes the selected dimension value for the dimension. The program may generate the visualization based on the state representation of the visualization.

## Claims

### Claim 1

A non-transitory machine-readable medium storing a program executable by at least one processing unit of a device, the program comprising sets of instructions for:
receiving a first selection of a data model as a data source for a visualization, wherein the data model specifies data to be organized according to a set of measures and a set of dimensions, wherein a measure stores quantitative data and a dimension stores qualitative data;
receiving a second selection of a dimension value for a dimension in the set of dimensions, wherein each measure in the set of measures corresponds to a distinct one of a plurality of possible dimension values for the dimension;
in response to the second selection, generating a state representation of the visualization that includes the selected dimension value for the dimension, wherein the state representation of the visualization is retrieved from a universal state of representations stored locally in a client device, or when not stored locally, generated using a query to obtain underlying data, wherein the state representation of the visualization comprises a data structure that represents a state of a visualization in terms of data to be used to render the visualization; and
generating the visualization based on the state representation of the visualization.

### Claim 2 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the generated visualization includes measure values for a measure in the set of measures that corresponds to the selected dimension value for the dimension.

### Claim 3 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the program further comprises sets of instructions for:
receiving a third selection of a dimension value for a second dimension in the set of dimensions, wherein each measure in a second set of measures of the data model is a particular dimension value for the second dimension; and
in response to the third selection, updating the state representation of the visualization to further include the selected dimension value for the second dimension.

### Claim 4 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein generating the visualization based on the state representation of the visualization comprises:
generating a query based on the state representation;
sending the query to a computing system;
receiving, from the computing system, a result set of data for the query; and
rendering the visualization to include the result set of data.

### Claim 5 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the program further comprises sets of instructions for:
receiving a third selection of the visualization;
in response to receiving the third selection, generating a tool for building the visualization based on the state representation of the visualization; and
providing the tool in a graphical user interface (GUI).

### Claim 6 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the data model is a first data model, wherein the data source for the visualization is a first data source for a first visualization, wherein the data is a first data, wherein the set of measures is a first set of measures, wherein the set of dimensions is a first set of dimensions, wherein the state representation is a first state representation, wherein the program further comprises sets of instructions for:
receiving a third selection of a second data model as a second data source for a second visualization, wherein the second data model specifies data to be organized according to a second set of measures and a second set of dimensions;
receiving a fourth selection of a dimension value for a dimension in the second set of dimensions, wherein each measure in the second set of measures is a particular dimension value for the dimension in the second set of dimensions;
in response to the fourth selection, generating a second state representation of the second visualization that includes the selected dimension value for the dimension in the second set of dimensions; and
generating the second visualization based on the second state representation of the second visualization.

### Claim 7 (depends on 6)

The non-transitory machine-readable medium of claim 6, wherein a first structure of the first state representation for the first visualization and a second structure of the second state representation for the second visualization are the same.

### Claim 8

A method comprising:
receiving a first selection of a data model as a data source for a visualization, wherein the data model specifies data to be organized according to a set of measures and a set of dimensions, wherein a measure stores quantitative data and a dimension stores qualitative data;
receiving a second selection of a dimension value for a dimension in the set of dimensions, wherein each measure in the set of measures corresponds to a distinct one of a plurality of possible dimension values for the dimension;
in response to the second selection, generating a state representation of the visualization that includes the selected dimension value for the dimension, wherein the state representation of the visualization is retrieved from a universal state of representations stored locally in a client device, or when not stored locally, generated using a query to obtain underlying data, wherein the state representation of the visualization comprises a data structure that represents a state of a visualization in terms of data to be used to render the visualization; and
generating the visualization based on the state representation of the visualization.

### Claim 9 (depends on 8)

The method of claim 8, wherein the generated visualization includes measure values for a measure in the set of measures that corresponds to the selected dimension value for the dimension.

### Claim 10 (depends on 8)

The method of claim 8 further comprising:
receiving a third selection of a dimension value for a second dimension in the set of dimensions, wherein each measure in a second set of measures of the data model is a particular dimension value for the second dimension; and
in response to the third selection, updating the state representation of the visualization to further include the selected dimension value for the second dimension.

### Claim 11 (depends on 8)

The method of claim 8, wherein generating the visualization based on the state representation of the visualization comprises:
generating a query based on the state representation;
sending the query to a computing system;
receiving, from the computing system, a result set of data for the query; and
rendering the visualization to include the result set of data.

### Claim 12 (depends on 8)

The method of claim 8 further comprising:
receiving a third selection of the visualization;
in response to receiving the third selection, generating a tool for building the visualization based on the state representation of the visualization; and
providing the tool in a graphical user interface (GUI).

### Claim 13 (depends on 8)

The method of claim 8 wherein the data model is a first data model, wherein the data model is a first data model, wherein the data source for the visualization is a first data source for a first visualization, wherein the data is a first data, wherein the set of measures is a first set of measures, wherein the set of dimensions is a first set of dimensions, wherein the state representation is a first state representation, the method further comprising:
receiving a third selection of a second data model as a second data source for a second visualization, wherein the second data model specifies data to be organized according to a second set of measures and a second set of dimensions;
receiving a fourth selection of a dimension value for a dimension in the second set of dimensions, wherein each measure in the second set of measures is a particular dimension value for the dimension in the second set of dimensions;
in response to the fourth selection, generating a second state representation of the second visualization that includes the selected dimension value for the dimension in the second set of dimensions; and
generating the second visualization based on the second state representation of the second visualization.

### Claim 14 (depends on 13)

The method of claim 13, wherein a first structure of the first state representation for the first visualization and a second structure of the second state representation for the second visualization are the same.

### Claim 15

A system comprising:
a set of processing units; and
a non-transitory machine-readable medium storing instructions that when executed by at least one processing unit in the set of processing units cause the at least one processing unit to:
receive a first selection of a data model as a data source for a visualization, wherein the data model specifies data to be organized according to a set of measures and a set of dimensions, wherein a measure stores quantitative data and a dimension stores qualitative data;
receive a second selection of a dimension value for a dimension in the set of dimensions, wherein each measure in the set of measures corresponds to a distinct one of a plurality of possible dimension values for the dimension;
in response to the second selection, generate a state representation of the visualization that includes the selected dimension value for the dimension, wherein the state representation of the visualization is retrieved from a universal state of representations stored locally in a client device, or if not stored locally, generated using a query to obtain underlying data, wherein the state representation of the visualization comprises a data structure that represents a state of a visualization in terms of data to be used to render the visualization; and
generate the visualization based on the state representation of the visualization.

### Claim 16 (depends on 15)

The system of claim 15, wherein the generated visualization includes measure values for a measure in the set of measures that corresponds to the selected dimension value for the dimension.

### Claim 17 (depends on 15)

The system of claim 15, wherein the instructions further cause the at least one processing unit to:
receive a third selection of a dimension value for a second dimension in the set of dimensions, wherein each measure in a second set of measures of the data model is a particular dimension value for the second dimension; and
in response to the third selection, update the state representation of the visualization to further include the selected dimension value for the second dimension.

### Claim 18 (depends on 15)

The system of claim 15, wherein generating the visualization based on the state representation of the visualization comprises:
generating a query based on the state representation;
sending the query to a computing system;
receiving, from the computing system, a result set of data for the query; and
rendering the visualization to include the result set of data.

### Claim 19 (depends on 15)

The system of claim 15, wherein the instructions further cause the at least one processing unit to:
receive a third selection of the visualization;
in response to receiving the third selection, generate a tool for building the visualization based on the state representation of the visualization; and
provide the tool in a graphical user interface (GUI).

### Claim 20 (depends on 15)

The system of claim 15, wherein the data model is a first data model, wherein the data source for the visualization is a first data source for a first visualization, wherein the data is a first data, wherein the set of measures is a first set of measures, wherein the set of dimensions is a first set of dimensions, wherein the state representation is a first state representation, wherein the instructions further cause the at least one processing unit to:
receive a third selection of a second data model as a second data source for a second visualization, wherein the second data model specifies data to be organized according to a second set of measures and a second set of dimensions;
receive a fourth selection of a dimension value for a dimension in the second set of dimensions, wherein each measure in the second set of measures is a particular dimension value for the dimension in the second set of dimensions;
in response to the fourth selection, generate a second state representation of the second visualization that includes the selected dimension value for the dimension in the second set of dimensions; and
generate the second visualization based on the second state representation of the second visualization.
