A method for analyzing data from data sources includes receiving user selection of a data source and displaying an interface that includes a schema region and a plurality of shelf regions. Each data field in the schema region is associated with a respective system-defined object from the data source. In a first display mode, each data field is displayed as associated with a respective system-defined object. In a second display mode, each data field is displayed in a respective user-defined folder. The method also includes displaying a data visualization according to a user placement of first and second data fields into the first and second shelf regions.
Drawings
Claims20
A method for analyzing data from data sources, comprising:
at a computer system having one or more processors and memory storing one or more programs configured for execution by the one or more processors:
receiving user selection of a data source;
displaying a data visualization user interface, including a schema region, and a plurality of shelf regions, each shelf region configured to define a respective characteristic of a displayed data visualization according to placement of data fields from the schema region into the respective shelf region, wherein:
each data field in the schema region is associated with a respective system-defined object from the data source;
and
while in a first display mode, displaying the schema region includes hierarchically displaying each system-defined object and the data fields associated with the respective system-defined object;
while in a second display mode, displaying the schema region includes displaying each data field hierarchically in a respective user-defined folder;
receiving user selection of a first data field from the schema region and user placement of the first data field into a first shelf region;
and
receiving user selection of a second data field from the schema region and user placement of the second data field into a second shelf region;
and
in accordance with placement of the first data field into the first shelf region and placement of the second data field into the second shelf region, displaying a data visualization using data for the first data field and the second data field retrieved from the data source.
9 more elements
A computing device, comprising:
one or more processors;
memory;
a display;
and
one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for:
receiving user selection of a data source;
displaying a data visualization user interface, including a schema region, and a plurality of shelf regions, each shelf region configured to define a respective characteristic of a displayed data visualization according to placement of data fields from the schema region into the respective shelf region, wherein:
each data field in the schema region is associated with a respective system-defined object from the data source;
and
while in a first display mode, displaying the schema region includes hierarchically displaying each system-defined object and the data fields associated with the respective system-defined object;
while in a second display mode, displaying the schema region includes displaying each data field hierarchically in a respective user-defined folder;
receiving user selection of a first data field from the schema region and user placement of the first data field into a first shelf region;
and
receiving user selection of a second data field from the schema region and user placement of the second data field into a second shelf region;
and
in accordance with placement of the first data field into the first shelf region and placement of the second data field into the second shelf region, displaying a data visualization using data for the first data field and the second data field retrieved from the data source.
13 more elements
A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing device having one or more processors, memory, and a display, the one or more programs comprising instructions for:
receiving user selection of a data source;
displaying a data visualization user interface, including a schema region, and a plurality of shelf regions, each shelf region configured to define a respective characteristic of a displayed data visualization according to placement of data fields from the schema region into the respective shelf region, wherein:
each data field in the schema region is associated with a respective system-defined object from the data source;
and
while in a first display mode, displaying the schema region includes hierarchically displaying each system-defined object and the data fields associated with the respective system-defined object;
while in a second display mode, displaying the schema region includes displaying each data field hierarchically in a respective user-defined folder;
receiving user selection of a first data field from the schema region and user placement of the first data field into a first shelf region;
and
receiving user selection of a second data field from the schema region and user placement of the second data field into a second shelf region;
and
in accordance with placement of the first data field into the first shelf region and placement of the second data field into the second shelf region, displaying a data visualization using data for the first data field and the second data field retrieved from the data source.
30 Jul 2040Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Of structured data, e.g. relational data: visual data mining; Browsing structured data
Life of this patent
About 13 years 9 months of term left · ends 30 Jul 2040 (estimated)
Priority30 Jul 2020
Filed16 Dec 2021
Granted7 Mar 2023
Today12 Oct 2026
Term ends30 Jul 2040
Priority30 Jul 2020
Granted7 Mar 2023
Term ends30 Jul 2040
Priority claimedParent application 16/944,047
Application filedUS 17/553,162
PublishedUS 2022/0107944 A1
GrantedUS 11,599,533 B2
TodayWithin its term
Term endsEstimated
Description21,965 words
Summary4,316 words
#The disclosed implementations relate generally to analyzing data from data sources, and more specifically to analyzing data using data visualizations constructed according to data fields from multiple objects in an object model.
#Data visualization applications enable a user to understand information in a database visually, including distribution, trends, outliers, and other factors that are important to making business decisions. In some cases, it is necessary for a user to access information from different data sources or tables to build a data visualization or create a custom calculation. For example, a large database may include hundreds or thousands of distinct tables or views, and it is frequently necessary to combine many of the tables in order to get a desired result. In some cases, a user's analysis requires access to more than one database (e.g., one or more tables in an SQL database and also data stored in a spreadsheet or CSV file). When there are many objects, it can be difficult for a user to find or access the right data.
#Some data visualization applications provide a user interface that enables users to build data visualizations and perform calculations. However, when using data from more than one object or table in the database, information regarding relationships between the objects may be required, or the tables may need to be joined in order to generate a new data set that includes data from multiple tables needed for a data visualization.
Brief description of the drawings16 figures
#For a better understanding of the aforementioned implementations of the invention as well as additional implementations, reference should be made to the Description of Implementations below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
#FIG. 1A illustrates example of an object model representation of a multi-object data source in accordance with some implementations.
#FIG. 1B illustrates an example of a data visualization interface in an object-based display mode in accordance with some implementations.
Detailed description17,325 words
#Reference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details.
#Some implementations of an interactive data visualization application use an object model 102 to show relationships 106 between data objects 104, as shown in FIG. 1A. The data objects 104 that are part of the object model may be stored locally (e.g., on the same device that is displaying the user interface) or may be stored externally (e.g., on a database server or in the cloud). In this example, each relationship 106 is a many-to-one relationship between two data objects 104 in the object model. (The arrows point from the “one” side of each relationship to the “many” side of the relationship.) The hierarchical structure of the object model allows the relationships between the data objects 104 in the object model to be visualized. The object model 102 may also show characteristics or data fields that are present in each of the data objects 104 and link them to other data fields or characteristics in related data objects. The many-to-one relationships between the data objects 104 shows the organizational structure of the object model 102. In some instances, each data object corresponds to a database table or a distinct physical file.
#Some implementations of an interactive data visualization application use an object model 102 to represent a multi-object data source. In some instances, an object model 102 applies to one database (e.g., one SQL database or one spreadsheet file), but an object model may encompass two or more databases. Typically, unrelated databases have distinct object models. In some instances, the object model 102 closely mimics the data model of the physical database (e.g., classes in the object model correspond to data sets or tables in a database). However, in some cases the object model 102 is more normalized (or less normalized) than the physical data sources. An object model 102 groups together attributes (e.g., data fields) that have a one-to-one relationship with each other to form classes (data objects 104), and identifies many-to-one relationships 106 among the classes. In the illustrations below, the many-to-one relationships are illustrated with arrows, with the arrows originating from the “one” side of the relationship and pointing towards the “many” side of each relationship. When an object model is constructed, it can facilitate analyzing data from the data source using data fields that are specified or selected by a user. In some implementations, the data fields correspond to columns in the data set (e.g., in a data table).