IP Library Granted Patent US 10,025,837
Granted Patent B2
US 10,025,837 · App. 14/837,036 · Granted Jul 17, 2018

Systems and methods for intelligent data preparation and visualization

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 10,025,837
App. No.
14/837,036
Granted
Jul 17, 2018
Kind
B2
Abstract

Real-time data visualization systems and methods are described. A data cube may be generated, wherein the data cube comprises a set of transforms to be applied to two or more data elements from disparate data sources, wherein processing of the data cube is to result in a data cube result having a plurality of measures and one or more hierarchies. A user may build a visualization, which produces a visualization request associated with the data cube, the visualization request specifying one or more of the measures and hierarchies of the data cube. The system identifies, based on the visualization request, one or more transforms within the data cube to remove from the data cube for the purpose of the visualization request to produce a modified data cube, and carries out the transforms of the modified data cube to produce a modified data cube result, which is exposed to the client-side visualization processor for rendering the visualization.

Claims (45)

1. A method of producing, in a data visualization system, a real-time data visualization for display, the method comprising:

receiving selection of two or more data elements from one or more data sources;

generating a data cube, wherein the data cube comprises a set of transforms to be applied to the two or more data elements, the set of transforms including a select transform for each of the two or more data elements, one or more operator transforms, and a result transform, and wherein processing of the data cube is to result in a data cube result having a plurality of measures and one or more hierarchies;

receiving a visualization request associated with the data cube, the visualization request including a metric set specifying one or more of the measures and hierarchies of the data cube and visualization parameters;

automatically identifying, based on the visualization request, one or more transforms within the data cube to remove from the data cube for the purpose of the visualization request to produce a modified data cube;

carrying out the transforms of the modified data cube to produce a modified data cube result;

obtaining said one or more of the measures and hierarchies from the modified data cube result based on the visualization request; and

displaying said one or more of the measures and hierarchies as a visualization on a display.

2. The method claimed in claim 1 , wherein identifying includes:

determining that a data provider associated with one of the data sources has the capability to implement one of the transforms;

configuring said data provider to implement said one of the transforms; and

removing said one of the transforms from the data cube.

3. The method claimed in claim 1 , wherein identifying includes:

determining that one of the transforms produces output data that is not required for the visualization request; and

removing said one of the transforms from the data cube.

4. The method claimed in claim 1 , wherein generating the data cube includes automatically determining a transform for connecting a data element to one or more other data elements within the data cube.

5. The method claimed in claim 4 , wherein the transform comprises a join between the data element and an existing data element within the data cube, and wherein determining includes determining a basis for the join operation.

6. The method claimed in claim 5 , wherein determining a basis includes determining based upon, in order of priority, any foreign key relationship specified in the respective data sources, a user-specified relationship, or a system-determined relationship.

7. The method claimed in claim 6 , wherein the basis is determined based on the system-determined relationship, and wherein said join is a join of a column from the data element with a column from the existing data element, and wherein the system-determined relationship for joining the two columns is based upon one of data type, header, or location.

8. The method claimed in claim 1 , further comprising simplifying the modified data cube result, and wherein simplifying includes identifying data points that will not be visible and filtering out those data points.

9. The method claimed in claim 8 , wherein the visualization request includes visualization type settings and display parameters, and wherein identifying comprises determining which data points will not be visible in the visualization based upon the visualization type settings and display parameters.

10. The method claimed in claim 1 , wherein the data sources include two or more of a relational database, an OLAP database, a spreadsheet, or a web service.

11. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configure one or more processors to perform the method claimed in claim 1 .

12. A data visualization system to produce real-time data visualizations for display, comprising:

a plurality of data sources;

a server including

a network connection to a client device to receive selection of two or more data elements from one or more of the data sources, and to receive a visualization request, and

a data cube processor to generate a data cube, wherein the data cube comprises a set of transforms to be applied to the two or more data elements, the set of transforms including a select transform for each of the two or more data elements, one or more operator transforms, and a result transform, and wherein processing of the data cube is to result in a data cube result having a plurality of measures and one or more hierarchies,

wherein the visualization request is associated with the data cube and includes a metric set that specifies one or more of the measures and hierarchies of the data cube and visualization parameters;

and wherein the data cube processor is to automatically identify, based on the visualization request, one or more transforms within the data cube to remove from the data cube for the purpose of the visualization request to produce a modified data cube, and to carrying out the transforms of the modified data cube to produce a modified data cube result,

and whereby the client device obtains said one or more of the measures and hierarchies from the modified data cube result based on the visualization request and displays said one or more of the measures and hierarchies as a visualization on a display.

13. The data visualization system claimed in claim 12 , the data cube processor identifies one or more transforms to remove by:

determining that a data provider associated with one of the data sources has the capability to implement one of the transforms;

configuring said data provider to implement said one of the transforms; and

removing said one of the transforms from the data cube.

14. The data visualization system claimed in claim 12 , the data cube processor identifies one or more transforms to remove by:

determining that one of the transforms produces output data that is not required for the visualization request; and

removing said one of the transforms from the data cube.

15. The data visualization system claimed in claim 12 , wherein the data cube processor generates the data cube by automatically determining a transform for connecting a data element to one or more other data elements within the data cube.

16. The data visualization system claimed in claim 15 , wherein the transform comprises a join between the data element and an existing data element within the data cube, and wherein automatically determining includes determining a basis for the join operation.

17. The data visualization system claimed in claim 16 , wherein determining a basis includes determining based upon, in order of priority, any foreign key relationship specified in the respective data sources, a user-specified relationship, or a system-determined relationship.

18. The data visualization system claimed in claim 17 , wherein the basis is determined based on the system-determined relationship, and wherein said join is a join of a column from the data element with a column from the existing data element, and wherein the system-determined relationship for joining the two columns is based upon one of data type, header, or location.

19. The data visualization system claimed in claim 12 , wherein the server includes a simplification process to simplify the modified data cube result prior to sending the modified data cube result to the client device in response to the visualization request, and wherein simplifying includes identifying data points that will not be visible and filtering out those data points.

20. The data visualization system claimed in claim 19 , wherein the visualization request includes visualization type settings and display parameters, and wherein identifying comprises determining which data points will not be visible in the visualization based upon the visualization type settings and display parameters.

21. The data visualization system claimed in claim 12 , wherein the data sources include two or more of a relational database, an OLAP database, a spreadsheet, or a web service.

Assignments (3)
CHANGE OF NAME Recorded Jun 8, 2023
From: SIMBA TECHNOLOGIES INCORPORATED
To: INSIGHTSOFTWARE INTERNATIONAL, INC.
Reel/Frame 063892/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2023
From: DUNDAS DATA VISUALIZATION, INC.
To: SIMBA TECHNOLOGIES, INC.
Reel/Frame 063246/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2015
From: CHERWONKA, JAMES JOHN; DOBRIN, ADRIAN SERBAN; MARCHAND, TROY A.; SHEFLIN, TERRENCE EUGENE; SIKLOS, ROBERT ERIC; STOICA-CONSTANTIN, MARIANA
To: DUNDAS DATA VISUALIZATION, INC.
Reel/Frame 036648/0001 →