IP Library Granted Patent US 11,954,109
Granted Patent B2
US 11,954,109 · App. 17/192,449 · Granted Apr 9, 2024

Declarative specification of visualization queries

Inventors: Didier Prophete (San Francisco, CA); Fred Im (San Carlos, CA); Vijayasarathy Chakravarthy (Mountain View, CA)
Assignee: Salesforce, Inc.
G06F16/248G06F16/2455G06F16/904G06F40/205
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 11,954,109
App. No.
17/192,449
Granted
Apr 9, 2024
Kind
B2
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.

Claims (61)

1. A method of animating data visualizations at a dashboard, the method comprising:

receiving a first user input signal indicating a first set of data filtering criteria for filtering a data set, wherein the first user input signal triggers generation of a first query comprising the first set of data filtering criteria;

obtaining a first set of data from the data set associated with the dashboard based at least in part on the first query;

causing a first image representing a first visualization of the first set of data to be displayed on the dashboard;

receiving a second user input signal indicating a second set of data filtering criteria for filtering the data set, the second set of data filtering criteria comprising a change to data filtering criteria as compared to the first set of data filtering criteria, wherein the second user input signal triggers generation of a second query comprising the second set of data filtering criteria;

obtaining a second set of data from the data set associated with the dashboard based at least in part on the second query; and

using an animation sequence to transition from the first image representing the first visualization of the first set of data to a second image representing a second visualization of the second set of data, wherein the animation sequence comprises one or more intermediate frames between the first image and the second image, the animation sequence showing at least a data segment of the first visualization subdividing into a plurality of data segments of the second visualization to visually indicate how the change to the data filtering criteria redistributes data values from the first set of data to the second set of data.

2. The method of claim 1 , wherein the first visualization, the second visualization, or both comprise a bar chart.

3. The method of claim 1 , further comprising:

selecting a template from a template database to use for the first visualization, the second visualization, or both.

4. The method of claim 1 , wherein the data set is stored in memory and comprises packaged data.

5. The method of claim 1 , wherein the data set comprises a modify permission value, a view permission value, a read-only permission value, or some combination thereof.

6. The method of claim 1 , further comprising:

updating a third image representing a third visualization of a third set of data based at least in part on obtaining the second set of data.

7. The method of claim 6 , wherein:

the first visualization and the second visualization correspond to a first bar of a bar chart;

the third visualization corresponds to a second bar of the bar chart; and

the first bar impacts the third visualization corresponding to the second bar.

8. The method of claim 7 , wherein updating the third image comprises:

using an additional animation sequence to indicate an impact of the first bar on the third visualization.

9. The method of claim 1 , further comprising:

determining the one or more intermediate frames for the animation sequence based at least in part on the first set of data, the second set of data, or both.

10. The method of claim 9 , wherein determining the one or more intermediate frames for the animation sequence comprises:

generating pixel-level instructions to transition from the first image to the second image using the one or more intermediate frames.

11. The method of claim 1 , wherein an intermediate frame of the one or more intermediate frames corresponds to a respective relative timestamp within the animation sequence.

12. The method of claim 11 , further comprising:

causing the one or more intermediate frames to be displayed on the dashboard during the animation sequence according to respective relative timestamps for the one or more intermediate frames.

13. The method of claim 1 , wherein the one or more intermediate frames provide a visual appearance that the first image evolves smoothly into the second image during the animation sequence.

14. The method of claim 1 , further comprising:

receiving a third user input signal indicating a display option for the dashboard; and

triggering a second change to the second image representing the second visualization of the second set of data in response to the third user input signal.

15. The method of claim 1 , further comprising:

receiving a third user input signal indicating a third set of data filtering criteria for filtering the data set, wherein the third user input signal triggers generation of a third query comprising the third set of data filtering criteria;

obtaining a third set of data from the data set associated with the dashboard based at least in part on the third query; and

using an additional animation sequence to transition from the second image representing the second visualization to a third image representing a third visualization of the third set of data.

16. The method of claim 1 , wherein the first set of data filtering criteria comprises a first value or a first range of values of at least one first dimension for the first set of data and the second set of data filtering criteria comprises a second value or a second range of values of at least one second dimension for the second set of data.

17. The method of claim 1 , further comprising:

receiving a third user input signal comprising a user selection of one or more segments of the second visualization;

identifying a subset of the second set of data corresponding to the one or more segments of the second visualization; and

using an additional animation sequence to transition from the second image representing the second visualization to a third image representing a third visualization of the subset of the second set of data based at least in part on identifying the subset of the second set of data.

18. The method of claim 1 , further comprising:

storing the animation sequence in memory;

receiving a replay request signal for the animation sequence; and

using the animation sequence to transition from the first image representing the first visualization to the second image representing the second visualization based at least in part on the replay request signal.

19. An apparatus for animating data visualizations at a dashboard, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

receive a first user input signal indicating a first set of data filtering criteria for filtering a data set, wherein the first user input signal triggers generation of a first query comprising the first set of data filtering criteria;

obtain a first set of data from the data set associated with the dashboard based at least in part on the first query;

cause a first image representing a first visualization of the first set of data to be displayed on the dashboard;

receive a second user input signal indicating a second set of data filtering criteria for filtering the data set, the second set of data filtering criteria comprising a change to data filtering criteria as compared to the first set of data filtering criteria, wherein the second user input signal triggers generation of a second query comprising the second set of data filtering criteria;

obtain a second set of data from the data set associated with the dashboard based at least in part on the second query; and

use an animation sequence to transition from the first image representing the first visualization of the first set of data to a second image representing a second visualization of the second set of data, wherein the animation sequence comprises one or more intermediate frames between the first image and the second image, the animation sequence showing at least a data segment of the first visualization subdividing into a plurality of data segments of the second visualization to visually indicate how the change to the data filtering criteria redistributes data values from the first set of data to the second set of data.

20. A non-transitory computer-readable medium storing code for animating data visualizations at a dashboard, the code comprising instructions executable by a processor to:

receive a first user input signal indicating a first set of data filtering criteria for filtering a data set, wherein the first user input signal triggers generation of a first query comprising the first set of data filtering criteria;

obtain a first set of data from the data set associated with the dashboard based at least in part on the first query;

cause a first image representing a first visualization of the first set of data to be displayed on the dashboard;

receive a second user input signal indicating a second set of data filtering criteria for filtering the data set, the second set of data filtering criteria comprising a change to data filtering criteria as compared to the first set of data filtering criteria, wherein the second user input signal triggers generation of a second query comprising the second set of data filtering criteria;

obtain a second set of data from the data set associated with the dashboard based at least in part on the second query; and

use an animation sequence to transition from the first image representing the first visualization of the first set of data to a second image representing a second visualization of the second set of data, wherein the animation sequence comprises one or more intermediate frames between the first image and the second image, the animation sequence showing at least a data segment of the first visualization subdividing into a plurality of data segments of the second visualization to visually indicate how the change to the data filtering criteria redistributes data values from the first set of data to the second set of data.

Assignments (2)
CHANGE OF NAME Recorded Apr 11, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 063297/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: PROPHETE, DIDIER; IM, FRED; CHAKRAVARTHY, VIJAYASARATHY
To: SALESFORCE.COM, INC.
Reel/Frame 055498/0184 →
Continuity (3)
Continuation 16019877 · Jun 27, 2018
Continuation 14512263 · Oct 10, 2014
Related Publication 20210256019A1 · Aug 19, 2021