IP Library › Granted Patent US 12,602,845
Granted Patent B2
US 12,602,845 · App. 18/463,163 · Granted Apr 14, 2026

Universal state representations of visualizations for different types of data models

Inventors: Jie Yu (Port Moody, CA); Philip Kin Sung Lau (Richmond, CA); Yue Qian Huang (Burnaby, CA); Rui Liu (Richmond, CA)
Assignee: SAP SE
G06T11/23G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,602,845
App. No.
18/463,163
Granted
Apr 14, 2026
Kind
B2
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 (73)

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.

2 . 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.

3 . 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.

4 . 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.

5 . 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).

6 . 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.

7 . 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.

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.

9 . 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.

10 . 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.

11 . 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.

12 . 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).

13 . 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.

14 . 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.

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.

16 . 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.

17 . 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.

18 . 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.

19 . 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).

20 . 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2023
From: YU, JIE; LAU, PHILIP; HUANG, YUE QIAN; LIU, RUI
To: SAP SE
Reel/Frame 064834/0905 →
Continuity (2)
Provisional Application 63508773 · Jun 16, 2023
Related Publication 20240420390A1 · Dec 19, 2024
References Cited (7)
US 10262048B1 · Cappiello · 2019 [cited by examiner]
US 20080120268A1 · Ruiz · 2008 [cited by examiner]
US 20150088902A1 · Nilsson · 2015 [cited by examiner]
US 20180174337A1 · Menard · 2018 [cited by examiner]
US 20180181657A1 · Giardina · 2018 [cited by examiner]
US 20220114178A1 · Haprian · 2022 [cited by examiner]
US 20250028639A1 · Wang · 2025 [cited by examiner]