Universal state representations of visualizations for different types of data models
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.
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.