Declarative Specification of Visualization Queries, Display Formats and Bindings
Assigneesalesforce.com, inc.
InventorsDidier Prophete, Fred Im, Vijayasarathy Chakravarthy
Life of this patent
Estimating the term…
Abstract
The technology disclosed relates to a platform for ultra-fast, ad-hoc data exploration and faceted navigation on integrated, heterogeneous data sets. The disclosed method of declarative specification of visualization queries, display formats and bindings represents queries, widgets and bindings combined on a dashboard in real time, with flexible display options for analyzing data and conveying analysis results.
Claims22
A method of representing queries, widgets, bindings and facets combined in panels on a dashboard including:
- representing interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard in a declarative form;
- wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure, wherein:
- the dimension is supplied to a visualization widget as an independent variable;
- and
- a function of the measure is supplied to the visualization widget as a dependent variable;
- wherein a visualization widget, when invoked,
- accepts as input at least one dimension and at least one measure returned in the data set;
- generates a specified chart or graph from the dimension and the measure;
- provides object positions of segments in the specified chart or graph to a tweener to use as ending positions when the tweener is invoked to generate a second view from a first view;
- provides the object positions to the tweener to use as starting positions when the tweener is invoked to generate a third view from the second view;
- wherein each panel declares a binding that links an associated visualization widget to an associated query;
- wherein each panel declares the specified chart or table data visualization into which the data set returned by the associated query will be rendered by the associated visualization widget;
- and
- wherein the facet property of the panels in the dashboard, when set, links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filer to be applied to additional panels that have the facet property set.
A method of generating a dashboard that includes multiple panels from a declarative representation of queries, widgets, bindings and facets, including:
- accessing one or more configuration files that represent interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard;
- parsing key-value properties in the configuration files to identify queries, wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure;
- providing a plurality of visualization widgets, wherein each visualization widget, when invoked,
- accepts as input the dimension returned in the data set as an independent variable and the measure as a dependent variable;
- generates a specified chart or graph from the dimension and the measure;
- provides object positions of segments in the specified chart or graph to a tweener to use as ending positions when the tweener is invoked to generate a second view from a first view;
- provides the object positions to the tweener to use as starting positions when the tweener is invoked to generate a third view from the second view;
- parsing key-value properties in the configuration files to identify panels, wherein each panel declares a binding that links an associated visualization widget to an associated query;
- and
- wherein each panel declares the specified chart or table data visualization into which the data set returned by the associated query will be rendered by the associated visualization widget;
- and
- wherein at least some of the panels set the facet property, wherein the facet property links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filer to be applied to additional panels that have the facet property set;
- generating data representing a dashboard and the panels based at least in part on the configuration files.
An apparatus for generating a dashboard that includes multiple panels from a declarative representation of queries, widgets, bindings and facets, including:
- a computer including a processor;
- a memory coupled to the processor, wherein the memory includes computer program instructions causing the computer to implement a process including:
- accessing one or more configuration files that represent interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard;
- parsing key-value properties in the configuration files to identify queries, wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure;
- providing a plurality of visualization widgets, wherein each visualization widget, when invoked,
- accepts as input the dimension returned in the data set as an independent variable and the measure as a dependent variable;
- generates a specified chart or graph from the dimension and the measure;
- provides object positions of segments in the specified chart or graph to a tweener to use as ending positions when the tweener is invoked to generate a second view from a first view;
- provides the object positions to the tweener to use as starting positions when the tweener is invoked to generate a third view from the second view;
- parsing key-value properties in the configuration files to identify panels, wherein each panel declares a binding that links an associated visualization widget to an associated query;
- wherein each panel declares the specified chart or table data visualization into which the data set returned by the associated query will be rendered by the associated visualization widget;
- wherein at least some of the panels set the facet property, wherein the facet property links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filer to be applied to additional panels that have the facet property set;
- and
- generating data representing a dashboard and the panels based at least in part on the configuration files.
A tangible computer-readable memory including computer program instructions that causing a computer to implement a process including:
- accessing one or more configuration files that represent interaction among queries, widgets, bindings and facet property settings to generate multiple panels of a dashboard;
- parsing key-value properties in the configuration files to identify queries, wherein each query specifies a value or range of values of at least one dimension and, when processed, returns a data set that includes at least one dimension and at least one measure;
- providing a plurality of visualization widgets, wherein each visualization widget, when invoked,
- accepts as input the dimension returned in the data set as an independent variable and the measure as a dependent variable;
- generates a specified chart or graph from the dimension and the measure;
- provides object positions of segments in the specified chart or graph to a tweener to use as ending positions when the tweener is invoked to generate a second view from a first view;
- provides the object positions to the tweener to use as starting positions when the tweener is invoked to generate a third view from the second view;
- parsing key-value properties in the configuration files to identify panels, wherein each panel declares a binding that links an associated visualization widget to an associated query;
- wherein each panel declares the specified chart or table data visualization into which the data set returned by the associated query will be rendered by the associated visualization widget;
- wherein at least some of the panels set the facet property, wherein the facet property links operation of data filtering controls among the panels, whereby selection of a data filter control in one panel causes the selected data filer to be applied to additional panels that have the facet property set;
- and
- generating data representing a dashboard and the panels based at least in part on the configuration files.
Dependencies are inferred from the claim text.