CN116235162A - Method and user interface for generating level of detail calculations for data visualization - Google Patents

Method and user interface for generating level of detail calculations for data visualization Download PDF

Info

Publication number
CN116235162A
CN116235162A CN202180057913.5A CN202180057913A CN116235162A CN 116235162 A CN116235162 A CN 116235162A CN 202180057913 A CN202180057913 A CN 202180057913A CN 116235162 A CN116235162 A CN 116235162A
Authority
CN
China
Prior art keywords
data
field
data field
visualization
dimension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180057913.5A
Other languages
Chinese (zh)
Inventor
托马斯·纳汉
艾伦·弗尔廷
丹尼尔·科里
贾斯汀·塔尔博特
劳伦·克里斯蒂娜·卢姆
伊莱恩·韦瑟菲尔德·苏尔克
苏珊·丹妮丝·多恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tapp Software Co ltd
Original Assignee
Tapp Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/095,696 external-priority patent/US11429271B2/en
Application filed by Tapp Software Co ltd filed Critical Tapp Software Co ltd
Publication of CN116235162A publication Critical patent/CN116235162A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

The computing device displays a data visualization interface and receives a user selection of a data source. The computing device also receives user input selecting a metric data field and a dimension data field. In response to the user input, the computing device: generating custom calculation for aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and storing the custom computation as a new selectable data field associated with the data object corresponding to the dimension data field. The computing device also receives a user selection of a new selectable data field and placement of the new selectable data field onto a first tool holder in the tool holder area. The first tool rack defines a first data visualization feature determined from the custom calculated data values. The computing device generates and displays a data visualization based on the first data visualization feature.

Description

Method and user interface for generating level of detail calculations for data visualization
RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 17/095,696, entitled "Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations," filed 11/2020, which claims priority from U.S. provisional patent application Ser. No. 63/087,862, entitled "Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations," filed 5/10/2020, each of which is incorporated by reference in its entirety.
This application relates to U.S. provisional patent application No. 62/933,940, entitled "Methods and User Interfaces for Determining Level of Detail for Data Visualizations", filed 11/2019, and U.S. patent application No. 16/166,125, entitled "Determining Levels of Detail for Data Visualizations Using Natural Language Constructs", filed 21/10/2018, each of which is incorporated herein by reference in its entirety.
Technical Field
The disclosed embodiments relate generally to data visualization and, more particularly, to a system, method, and user interface that enable a user to interact with data visualization and analyze the data using drag-and-drop operations.
Background
The data visualization application enables a user to intuitively understand the data set. Visual analysis of the dataset (including distribution, trend, outliers, and other factors) is important for making business decisions. Some data sets are very large or complex and include many data fields. Various tools, including dashboards with various data visualizations and natural language interfaces to aid in performing visual analysis tasks, can be used to aid in understanding and analyzing data. In particular, the level of detail expression (Level of Detail expressions) is a powerful tool to aggregate different levels of data.
SUMMARY
Improved systems and methods are needed to support interactions with visual analysis systems. The present disclosure describes methods of resolving user input on a user interface into formal queries that can be executed against a visual analysis system (e.g., a data visualization application). The method also supports multiple aggregation levels in a single data visualization. Thus, the method and user interface reduce the cognitive burden on the user and create a more efficient human-machine interface.
The detail level expression (also referred to as LOD expression) allows the user to calculate values at the data source level and at the visualization level. The LOD expression may provide control over the level of granularity of the computation. For example, the LOD expression may be performed at a more granularity level (INCLUDE), a less granularity level (EXCLUDE), or a fully independent level (FIXED). Some embodiments enable a user to specify or create and/or modify such LOD expressions via an intuitive graphical user interface.
According to some embodiments, a method of generating a level of detail calculation for data visualization is provided. The method is performed at a computing device having a display, one or more processors, and memory storing one or more programs configured to be executed by the one or more processors. The method includes receiving a user selection of a data source. The method also includes displaying a data visualization interface, the data visualization interface comprising: a data visualization area; a tool rack area having a plurality of tool racks, each tool rack defining a respective feature of the data visualization based on placement of the data field on the respective tool rack; and displaying a pattern (schema) information area of the plurality of data objects, wherein each data object has one or more selectable data fields, and each data field is designated as a dimension or metric. The method also includes receiving user input selecting a metric data field and a dimension data field from the pattern information region. The method further includes, in response to the user input: generating custom calculation for aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and storing the custom computation as a new selectable data field associated with the data object corresponding to the dimension data field. The method further includes receiving a user selection of the new selectable data field and placement of the new selectable data field onto a first tool rack in a tool rack area, wherein the first tool rack defines a first data visualization feature; and generating a data visualization and displaying the data visualization in a data visualization area, wherein a first data visualization characteristic of the data visualization is determined from the custom calculated data values.
In some implementations, the user input is a drag-and-drop operation that includes dragging a metric data field and dropping the metric data field onto a dimension data field. In some implementations, the dimension data field is a primary key (primary key) or a surrogate key (alternate key) of the data object corresponding to the dimension data field. In some implementations, the user input further includes: the user initiates a context menu associated with the metric data field or the dimension data field; and selecting a context menu option to construct the custom computation. In some implementations, the method further includes, in response to a user selection of a context menu option: displaying a dialog window filled by the generated custom computation; and detecting a second user input in the dialog window to edit the custom computation and storing the custom computation as a new selectable data field in response to detecting that the user activates a save function visibility (afordance) in the dialog window.
Although the specific examples described below use a single dimension data field and a single metric data field, the same techniques may be applied to other fields. For example, a user may select two or more dimension fields and then drag a metric field to any of them. In this case, the data visualization application generates LOD expressions grouped in combinations of all specified dimension data fields. For example, for two dimensions and one metric, the LOD expression generated is { FIXED [ dimension 1], [ dimension 2]: SUM ([ metric ])}.
In some embodiments, the custom computation is in the form { FIXED [ field 1]: AGG ([ field 2 ]) }, where "field 1" is the name of the dimension data field, "AGG" is the aggregation operator, and "field 2" is the name of the metric data field. In some embodiments, the aggregation operator is one of SUM, COUNT, AVERAGE, MIN, and MAX.
In some implementations, generating a data visualization and displaying the data visualization in a data visualization area includes: generating one or more database queries directed to the data source in accordance with the user placing the data fields from the pattern information area onto the tool racks in the tool rack area, placing the data fields from the pattern information area onto the tool racks in the tool rack area including placing new selectable data fields onto the first tool rack; performing one or more database queries to retrieve one or more data sets from a data source, the data sets comprising data aggregated for metric data fields grouped according to dimension data fields; and generating and displaying a data visualization from the retrieved data set.
In some implementations, a computing device includes one or more processors, memory, a display, and one or more programs stored in the memory. The program is configured to be executed by one or more processors. The one or more programs include instructions for performing any of the methods described herein.
In some implementations, a non-transitory computer readable storage medium stores one or more programs configured to be executed by a computing device having one or more processors, memory, and a display. The one or more programs include instructions for performing any of the methods described herein.
Thus, methods, systems, and graphical user interfaces are disclosed that enable a user to easily interact with data visualizations and analyze the data using natural language expressions.
Brief Description of Drawings
For a better understanding of the aforementioned systems, methods and graphical user interfaces, as well as additional systems, methods and graphical user interfaces that provide for visual analysis of data, reference should be made to the following description of embodiments in conjunction with the accompanying drawings in which like reference numerals designate corresponding parts throughout the figures.
FIG. 1 illustrates a graphical user interface used in some embodiments.
FIG. 2 is a block diagram of a computing device according to some implementations.
Fig. 3A and 3B illustrate graphical user interfaces for generating a level of detail (LOD) expression, according to some embodiments.
Fig. 3C, 3D, and 3E illustrate example user interfaces for creating and/or visualizing object models in accordance with some embodiments.
Fig. 4A-4D illustrate alternative ways for generating LOD expressions using a context menu, according to some embodiments.
Fig. 5A, 5B, and 5C illustrate example user interfaces for viewing and/or editing details of previously generated LOD calculations, according to some embodiments.
FIG. 6 illustrates a graphical user interface for generating a level of detail (LOD) expression, according to some embodiments.
FIG. 7 provides a flowchart of a method of generating a level of detail expression for data visualization, according to some embodiments.
Reference will now be made to the embodiments, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details.
Description of the embodiments
FIG. 1 illustrates a graphical user interface 100 for interactive data analysis. According to some embodiments, the user interface 100 includes a data tab 114 and an analysis tab 116. When the data tab 114 is selected, the user interface 100 displays a mode information area 110, also referred to as a data pane. The schema information section 110 provides named data elements (e.g., field names) that can be selected and used to create a data visualization. In some implementations, the list of field names is divided into a set of dimensions (e.g., classification data) and a set of metrics (e.g., numerical metrics). Some embodiments further comprise a list of parameters. When analysis tab 116 is selected, the user interface displays a list of analysis functions instead of a list of data elements (not shown).
The graphical user interface 100 also includes a data visualization area 112. The data visualization area 112 includes a plurality of tool rack areas, such as a column tool rack area 120 and a row tool rack area 122. These are also referred to as column tool holders 120 and row tool holders 122. As shown herein, the data visualization area 112 also has a large space for displaying visual graphics (also referred to herein as data visualization). Because the data element has not been selected, the space is initially free of visual graphics. In some implementations, the data visualization area 112 has multiple layers called tables (sheets). In some implementations, the data visualization area 112 includes an area 126 for a data visualization filter.
In some implementations, the graphical user interface 100 also includes a natural language input box 124 (also referred to as a command box) for receiving natural language commands. The user may interact with the command box to provide commands. For example, the user may provide natural language commands by typing the commands in box 124. Further, the user may interact with the command box indirectly by speaking into the microphone 220, thereby providing commands. In some implementations, the data elements are initially associated with the column tool rack 120 and the row tool rack 122 (e.g., using a drag and drop operation from the pattern information area 110 to the column tool rack 120 and/or the row tool rack 122). After initial association, the user may use natural language commands (e.g., in natural language box 124) to further explore the displayed data visualization. In some instances, the user uses the natural language input box 124 to create an initial association, which results in one or more data elements being placed in the column tool rack 120 and the row tool rack 122. For example, the user may provide a command to create a relationship between data element X and data element Y. In response to receiving the command, the column tool rack 120 and the row tool rack 122 may be populated with data elements (e.g., the column tool rack 120 may be populated with data elements X and the row tool rack 122 may be populated with data elements Y, and vice versa).
FIG. 2 is a block diagram illustrating a computing device 200 that may display the graphical user interface 100, according to some implementations. Various examples of computing device 200 include desktop computers, laptop computers, tablet computers, and other computing devices having a display and a processor capable of running data visualization application 230. Computing device 200 typically includes one or more processing units (processors or cores) 202, one or more network or other communication interfaces 204, memory 206, and one or more communication buses 208 for interconnecting these components. The communication bus 208 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communications between system components. Computing device 200 includes user interface 210. The user interface 210 generally includes a display device 212. In some implementations, the computing device 200 includes an input device, such as a keyboard, mouse, and/or other input buttons 216. Alternatively or additionally, in some implementations, the display device 212 includes a touch-sensitive surface 214, in which case the display device 212 is a touch-sensitive display. In some implementations, the touch-sensitive surface 214 is configured to detect various swipe gestures (e.g., continuous gestures in the vertical and/or horizontal directions) and/or other gestures (e.g., single/double tap). In a computing device with a touch sensitive display 214, the physical keyboard is optional (e.g., a soft keyboard may be displayed when keyboard input is desired). The user interface 210 also includes an audio output device 218, such as a speaker or an audio output connection to a speaker, earphone or headset. In addition, some computing devices 200 use microphones and speech recognition to supplement or replace keyboards. Optionally, the computing device 200 includes an audio input device 220 (e.g., a microphone) to capture audio (e.g., speech from a user).
In some implementations, the memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and may include non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some implementations, the memory 206 includes one or more storage devices located remotely from the processor 202. The memory 206 or alternatively a non-volatile memory device within the memory 206 includes a non-transitory computer-readable storage medium. In some implementations, the memory 206 or a computer readable storage medium of the memory 206 stores the following programs, modules, and data structures, or a subset or superset thereof:
an operating system 222 including processes (procedures) for handling various basic system services and for performing hardware-related tasks;
a communication module 224 for connecting the computing device 200 to other computers and devices via one or more communication interfaces 204 (wired or wireless) (e.g., the internet, other wide area networks, local area networks, metropolitan area networks, etc.);
Optionally, a web browser 226 (or other application capable of displaying web pages) that enables a user to communicate with a remote computer or device over a network;
optionally, an audio input module 228 (e.g., a microphone module) for processing audio captured by the audio input device 220. The captured audio may be sent to a remote server and/or processed by an application executing on computing device 200 (e.g., data visualization application 230);
a data visualization application 230 for generating data visualizations and related features. In some implementations, the data visualization application 230 further includes:
o a graphical user interface 100 for a user to construct visual graphics. In some implementations, the graphical user interface includes a user input module 234 for receiving user input through the natural language box 124 (fig. 1). For example, a user enters a natural language command or expression into the natural language box 124 that identifies one or more data sources 242 (which may be stored on the computing device 200 or remotely) and/or data fields from the data sources. In some implementations, the natural language expression is a speech utterance captured by the audio input device 220. The selected fields are used to define visual graphics. The data visualization application 230 then displays the generated visual graphic in the user interface 100. In some implementations, the data visualization application 230 is executed as a standalone application (e.g., a desktop application). In some implementations, the data visualization application 230 executes within the web browser 226 or within another application that uses the web page provided by the web server;
An o data visualization generation module 236 that automatically generates and displays a corresponding visual graphic (also referred to as "data visualization" or "data visualization") using user input (e.g., natural language input);
optionally, a natural language processing module 238 for processing (e.g., interpreting) natural language input (e.g., commands) received using the natural language box 124. In some implementations, the natural language processing module 238 parses natural language commands (e.g., into tokens (token)) and translates the commands into an intermediate language (e.g., arkLang). The natural language processing module 238 includes an analysis expression 239 that is used by the natural language processing module 238 to form an intermediate expression of the natural language command. The natural language processing module 238 also translates (e.g., compiles) the intermediate expressions into database queries by issuing queries to the database or data source 242 and retrieving one or more data sets from the database or data source 242 using the visual query language;
o-visual specifications 240 for defining characteristics of desired data visualizations. In some implementations, user-provided information (e.g., user input) is stored as visual specifications. In some implementations, the visual specification 240 includes previous natural language commands received from the user or properties (properties) specified by the user through natural language commands. In some implementations, the visual specification 240 includes two or more aggregations based on different levels of detail. Further information regarding the level of detail can be found in U.S. patent application No. 14/801,750, entitled "Systems and Methods for using Multiple Aggregation Levels in a Single Data Visualization," filed on even date 7, 16, 2015, which is incorporated herein by reference in its entirety;
Zero or more databases or data sources 242 (e.g., a first data source 244 and a second data source 246) used by the data visualization application 230. In some implementations, the data source is stored as a spreadsheet file, a CSV file, an XML file, a flat file (flat file), or a JSON file, or in a relational database. For example, a user selects one or more databases or data sources 242 (which may be stored on computing device 200 or remotely), selects data fields from the data sources (one or more data sources), and uses the selected fields to define visual graphics;
zero or more object models 248 (e.g., a first object model 248-1 corresponding to data source 244, and a second object model corresponding to data source 246). According to some embodiments, object model 248 represents the logical organization of tables (or objects) in a data source. In some implementations, the object model 248 encodes relationships between logical and/or physical tables of the data sources; and
custom computation generation module 250 that generates and/or stores custom computations 252 (e.g., custom computations 252-2, 252-4; sometimes referred to as level of detail (LOD) computations) based on user selection of data fields (e.g., dimensions, metrics) or objects of the data source.
Although fig. 2 illustrates a computing device 200, fig. 2 is more intended as a functional description of various features that may be present, rather than as a structural schematic of the embodiments described herein. In practice and as will be appreciated by those of ordinary skill in the art, the items shown separately may be combined and some items may be separated.
Each of the above identified executable modules, applications, or sets of processes may be stored in one or more of the aforementioned memory devices and correspond to a set of instructions for performing the functions described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments. In some implementations, the memory 206 stores a subset of the modules and data structures identified above. Further, the memory 206 may store additional modules or data structures not described above.
Generating a level of detail for data visualization based on user input on a user interface
Fig. 3A and 3B illustrate a graphical user interface 100 for generating a level of detail (LOD) expression, according to some embodiments. Some embodiments allow a user to generate an LOD expression by dragging a metric data field onto a dimension data field. For example, the user may drag the sales data field onto the product data field and the system (e.g., custom computation generation module 250) automatically generates the LOD expression for sale by product aggregate. The LOD expression is { FIXED [ product ]: SUM ([ sales ])}. In some embodiments, the computation is assigned a name as a new computed field (computed field), and the computed field appears as an optional field in the mode information area 110. In some implementations, after creating a new LOD calculation, the LOD calculation may then be used like any other data field.
As an alternative to drag and drop operations, some embodiments allow a user to select dimensions and metrics, and then call out a context menu (e.g., using a right click from a dimension data field). In some implementations, this will call up a dialog window that is pre-populated with the generated LOD expression. The user may then modify the expression (if desired) before saving it. In some implementations, the computation is automatically saved as a new data field without calling up a dialog window.
In fig. 3A and 3B, a data field price 302, which is a measure from version table 300, is dragged onto a dimension data field ISBN (sales q1+) 306, which is the primary key of sales table 304. Some embodiments generate a copy of the price data field 302 in the context of the data field ISBN 306 to create a new LOD expression 308. Some embodiments allow a user to create LOD expressions (as described above and below) via a context menu. Some embodiments allow a user to create a LOD expression by dragging and dropping a data field (e.g., using command or control keys, or similar gestures for creating a data field). Some embodiments allow a user to create metrics in the context of new data fields.
Fig. 3C, 3D, and 3E illustrate an example user interface 310 for creating and/or visualizing an object model in accordance with some embodiments. The user interface 310 includes a connection area 312 that displays the data source. The connection area 318 provides a connection to a database server hosting a database (or data source). Each data source includes one or more data tables 320 that can be selected and used to construct an object model. In some implementations, the list of tables is grouped (e.g., organized according to logic of the tables). The graphical user interface 310 also includes an object model visualization area 314. The object model visualization area 314 displays an object model (e.g., a tree or graph of data objects). The displayed object model includes one or more data object icons (e.g., icons 322-2, 322-4, 322-6, 322-8, 322-10, 322-12, and 322-14). In fig. 3C, the object model displayed in the object model visualization area 314 corresponds to the organization of the tables shown in fig. 3A and 3B. Each data object icon in turn represents a table (e.g., a physical table) or a logical combination of one or more tables. For example, icon 322-2 represents a book table, icon 322-4 represents an author table, icon 322-6 represents a rewards table, icon 322-8 represents a version table 300, icon 322-10 represents a publisher table, icon 322-12 represents sales table 304, and icon 322-14 represents a rating table. In some implementations, interface 310 also includes a data grid region 306 that displays data fields of one or more data object icons displayed in object model visualization region 314. In some implementations, the mesh region 316 is updated or refreshed in response to detecting user input in the object model visualization region 314. In FIG. 3C, the visualization area 314 shows the highlighted object icon 322-2 and the grid area 316 shows details (e.g., data fields) of the book table corresponding to the object icon 322-2. In some implementations, the grid region shows a first table (e.g., the root of a tree of logical tables or the root of an object model) as a start (e.g., when loading a pre-existing object model) without detecting user input. If the user navigates away from and/or selects an alternate object icon (e.g., icon 322-4), the grid area is updated to show details of the logical table (or physical table) corresponding to the alternate object icon (e.g., details of version table 300). In some implementations, the user can double-click 324 on the logical table to view its physical table.
To further illustrate the process of generating the LOD expression, when a user drags the price data field 302 from the version table 300 to the sales table 304, the system generates a metric that is row-level price information of the sales table 304. The user may then drag the generated metrics (e.g., data field 308) one level up (e.g., to version table 300) or even multiple levels (e.g., drag two levels up to the book table). By dragging and dropping the calculated metrics, the user can generate new metrics for the correct level of detail for the context (e.g., table or data field). In this way, in addition to allowing a user to drag and drop pre-existing metrics to generate LOD calculations (sometimes referred to as custom calculations), some embodiments also allow a user to drag custom calculations to contexts to create further calculations, similar to pre-existing metrics to process custom calculations. This process of nesting custom computations (including LOD expressions) within other computations can be extended to any depth as desired.
Fig. 4A-4D illustrate alternative ways for generating LOD expressions using a context menu, according to some embodiments. Before any metrics are created, as shown in FIG. 4A, when the user selects a data field (e.g., series ID data field 400 in the book table), the system does not display any LOD calculations. Next, as shown in fig. 4B, after selecting the dimensions and metrics, when the user selects a data field (e.g., book ID data field 404) and then right clicks on another data field (e.g., expected revenue data field 406), the system shows a context menu 408 to create the LOD calculation, according to some embodiments. According to some embodiments, when the user selects the LOD calculation as an option, the system shows a pop-up window 410 to create the LOD calculation. This is shown in fig. 4C. Fig. 4D shows an enlarged view of the pop-up window 410. Some embodiments allow the user to name 412 the calculation. Some embodiments allow the user to edit the LOD calculation 416. For example, the user may change SUM 414 to an AVG or similar calculation. Some embodiments verify the LOD calculation and/or show the result of the verification (e.g., information 418). Some embodiments show the application of LOD calculations (e.g., checking the validity of LOD calculations) and/or the functional visibility of accepting input or closing pop-up windows (e.g., application button 420 and ok button 422).
FIG. 5A shows an example user interface for viewing and/or editing details of previously generated LOD calculations, according to some embodiments. In the illustrated example, when the user selects LOD calculation 308 (generated as described above with reference to FIGS. 3A-3E), the system responds by showing a drop down menu 500, the drop down menu 500 including an edit field option 502. Assuming the user selects the edit field, the system shows a pop-up window 504 (as shown in FIG. 5B) to view and/or edit details of the data field 308. Fig. 5C shows an enlarged view of pop-up window 504, according to some embodiments. Similar to fig. 4D, according to some embodiments, a user may edit fields of LOD calculation 506.
Some embodiments track the primary and foreign keys (keys) of the table. Assuming the user drags the metrics onto the table (rather than the data fields of the table), some embodiments generate LOD calculations based on the primary keys of the table. For example, as shown in FIG. 6, assume that a user drags a price data field from a version table onto sales table 304. In response, the system detects that sales table 304 has a primary key and uses the primary key as a data field for generating LOD calculations. Some embodiments allow a user to generate LOD calculations using multiple data fields. For example, the user may select the second data field after dragging the metric onto the first data field, thereby creating a LOD calculation based on the first data field and the second data field.
FIG. 7 provides a flow diagram of a method 700 of generating (702) a level of detail calculation for data visualization, according to some embodiments. Method 700 is also referred to as a process.
The method 700 is performed at a computing device 200 having a display 212, one or more processors 202, and a memory 206 (704). The memory 206 stores (706) one or more programs configured to be executed by the one or more processors 202. In some implementations, the operations performed by the computing device correspond to instructions stored in the memory 206 or other non-transitory computer readable storage medium. The computer readable storage medium may include a magnetic disk storage device or an optical disk storage device, a solid state storage device such as flash memory, or one or more other non-volatile storage devices. The instructions stored on the computer-readable storage medium may include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the methods may be combined and/or the order of some operations may be changed.
The method includes receiving (708) a user selection of a data source. For example, in FIG. 3, the user selects a book data source. The method also includes displaying (710) a data visualization interface, the data visualization interface including: a data visualization area 112; a tool rack area having a plurality of tool racks (e.g., tool racks 120 and 122), each tool rack defining a respective feature of the data visualization based on placement of the data fields on the respective tool rack; and a mode information area 110 displaying a plurality of data objects (sometimes referred to as tables). Each data object has one or more selectable data fields, and each data field is designated as a dimension or metric.
The method further includes receiving (712) user input selecting a metric data field and a dimension data field from the pattern information region. Examples of such user inputs are described above with reference to fig. 3A-3E, according to some embodiments.
The method also includes, in response to the user input (714): generating custom calculation for aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and storing the custom computation as a new selectable data field associated with the data object corresponding to the dimension data field. Examples of generating and storing custom calculations as selectable data fields are described above with reference to fig. 3A-3E, according to some embodiments.
The method further includes receiving (716) a user selection of the new selectable data field and placement of the new selectable data field onto a first tool holder in a tool holder area, wherein the first tool holder defines a first data visualization feature; and generating and displaying (718) a data visualization in the data visualization area, wherein a first data visualization characteristic of the data visualization is determined from the custom calculated data values. Examples of user selection of new data fields, placement of data fields onto a tool rack area, and/or generation and display of data visualizations are described above with reference to fig. 1, 2, 3A-3E, and 4A-4D, according to some embodiments.
In some implementations, the user input is a drag-and-drop operation that includes dragging a metric data field and dropping the metric data field onto a dimension data field. In some implementations, the dimension data field is a primary or alternate key to a data object corresponding to the dimension data field. In some implementations, the user input further includes: the user initiates a context menu associated with the metric data field or the dimension data field; and selecting a context menu option to construct the custom computation. In some implementations, the method further includes, in response to a user selection of a context menu option: displaying a dialog window filled by the generated custom computation; and detecting a second user input in the dialog window to edit the custom computation and storing the custom computation as a new selectable data field in response to detecting that the user activates the save function visibility in the dialog window.
In some embodiments, the custom computation is in the form { FIXED [ field 1]: AGG ([ field 2 ]) }, where "field 1" is the name of the dimension data field, "AGG" is the aggregation operator, and "field 2" is the name of the metric data field. In some implementations, the aggregation operator is one of SUM, COUNT, AVERAGE, MIN and MAX.
In some implementations, generating and displaying the data visualization in the data visualization area includes: generating one or more database queries directed to the data source in accordance with the user placing the data fields from the pattern information area onto the tool racks in the tool rack area, placing the data fields from the pattern information area onto the tool racks in the tool rack area including placing new selectable data fields onto the first tool rack; performing one or more database queries to retrieve one or more data sets from a data source, the data sets comprising data aggregated for metric data fields grouped according to dimension data fields; and generating and displaying a data visualization from the retrieved data set.
According to some embodiments, a method of determining a level of detail for data visualization is provided. The method is performed at a computing device having a display, one or more processors, and memory storing one or more programs configured to be executed by the one or more processors. The method includes displaying a data visualization interface on a display, receiving a user selection of a data source, and detecting an input specifying a type of level of detail expression directed to the data source. The method further includes, in response to detecting the input: determining (i) an aggregation type in the first aggregation, (ii) a data field to be aggregated for the first aggregation, and (iii) a packet for the first aggregation based on the input; generating one or more database queries including a first aggregation based on the aggregation type, the data fields, and the packets according to the data source; executing the one or more database queries to retrieve one or more data sets aggregated according to the first aggregation from a data source; and generating and displaying an updated data visualization of the retrieved data set.
In some implementations, the first aggregation is a metric and the data field is a dimension of the data source. In some implementations, the input is a drag-and-drop operation that includes dragging the first aggregation and dropping it onto the data field. In some implementations, the input is a right click operation on the data field, and the method further includes displaying a context menu or dialog box that allows the user to specify a metric or calculation, and determining the first aggregation based on the metric or calculation.
In some implementations, the input is a drag-and-drop operation that includes dragging and dropping the first aggregation onto the table, and the method further includes retrieving a primary key associated with the table and using the primary key as the data field.
In some embodiments, the method further comprises: displaying the first aggregation; detecting a second input viewing details of the first aggregation; in response to detecting the second input, displaying a calculation or metric corresponding to the first aggregation; detecting a third input modifying the calculation or the metric; and in response to detecting the third input, updating the first aggregation.
Some embodiments enable a user to specify a LOD by using a drag-and-drop operation. Some embodiments generate calculated fields in a pattern viewer. Some implementations include a computing dialog. Some embodiments allow a user to specify temporary calculations (ad-hoc calculations) and/or other pills (e.g., pill context menus) for specifying LODs. Some embodiments provide user feedback to allow users to know whether their calculations meet their expectations.
Some implementations allow a user to specify the type of LOD by using one of the following grammars: { FIXED dimension: calculate } (FIXED, INCLUDE or EXCLUDE), { calculate }, { INCLUDE: calculate } (INCLUDE or EXCLUDE).
Some embodiments allow a user to select different types of LODs: FIXED, INCLUDE or EXCLUDE. Some embodiments allow a user to drag a computation onto a dimension, or a set of dimensions onto a computation. Some embodiments assume that the interaction between two components of the LOD calculation is equivalent and that the order is implicit. Some implementations default to LOD of the FIXED type and provide a context menu for the user to change the type.
Some embodiments detect a right click drag and/or display an option after the user releases the mouse for selecting a different type of LOD.
Some embodiments detect secondary drop targets after initial drop, similar to the way some data visualization platforms detect user input (e.g., input provided in an analysis Pane of a Table, pane, or Cell) for improved analysis.
Some embodiments detect user input to determine interactions between data fields.
Some embodiments determine a defined dimension of an object (e.g., friendly field name of a primary key) based on detecting user input and/or metadata information related to the object.
Some embodiments detect user input to determine interactions between dimensions and calculations or metrics. Some embodiments detect user input to determine interactions between dimensions or between dimensions and a hierarchical database model.
Some embodiments detect user input to determine dimensions and/or classify each dimension as a string, a date field/time field, a set of bins (bins), a portion of a combined field, or a portion of a hierarchy.
Some embodiments detect user input to alter the aggregation on metrics.
Some embodiments detect user input to determine a particular type of LOD (e.g., { FIXED dimension: count (dimension 2) }, { FIXED YEAR (order date): SUM (sales) }). Some embodiments detect user input to alter the hierarchy within the dimension.
The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is also to be understood that the term "and/or" as used herein refers to any and all possible combinations of one or more of the associated listed items and includes such combinations. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
The foregoing description, for purposes of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.

Claims (20)

1. A method of generating a level of detail calculation for data visualization, comprising:
performing, at a computing device having a display, one or more processors, and memory storing one or more programs configured to be executed by the one or more processors:
receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
a data visualization area;
a tool rack area having a plurality of tool racks, each tool rack defining a respective feature of the data visualization based on placement of the data field on the respective tool rack; and
Displaying a pattern information area of a plurality of data objects, wherein each data object has one or more selectable data fields, and each data field is designated as a dimension or metric;
receiving user input selecting a metric data field and a dimension data field from the pattern information region;
in response to the user input:
generating custom calculation for the aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and
storing the custom computation as a new selectable data field associated with a data object corresponding to the dimension data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field onto a first tool rack in the tool rack area, wherein the first tool rack defines a first data visualization feature; and
generating and displaying a data visualization in the data visualization area, wherein the first data visualization characteristic of the data visualization is determined from the custom calculated data value.
2. The method of claim 1, wherein the user input is a drag and drop operation comprising dragging the metric data field and dropping the metric data field onto the dimension data field.
3. The method of claim 2, wherein the dimension data field is a primary key or a surrogate key of the data object corresponding to the dimension data field.
4. The method of claim 1, wherein the user input further comprises:
a user initiates a context menu associated with the metric data field or the dimension data field; and
a context menu option is selected to construct the custom computation.
5. The method of claim 4, further comprising, in response to a user selection of the context menu option:
displaying a dialog window filled by the generated custom computation; and
detecting a second user input in the dialog window to edit the custom computation;
wherein the custom computation is stored as a new selectable data field in response to detecting that a user activates a save function visibility in the dialog window.
6. The method of claim 1, wherein the custom computation is in the form { FIXED [ field 1]: AGG ([ field 2 ]) }, where "field 1" is the name of the dimension data field, "AGG" is an aggregation operator, and "field 2" is the name of the metric data field.
7. The method of claim 6, wherein the aggregation operator is one of SUM, COUNT, AVERAGE, MIN and MAX.
8. The method of claim 1, wherein generating and displaying the data visualization in the data visualization area comprises:
generating one or more database queries directed to the data source in accordance with a user placing data fields from the pattern information area onto a tool rack in the tool rack area, placing data fields from the pattern information area onto a tool rack in the tool rack area including placing the new selectable data fields onto the first tool rack;
executing the one or more database queries to retrieve one or more data sets from the data source, the data sets comprising data aggregated for the metric data fields grouped according to the dimension data fields; and
and generating and displaying the data visualization according to the retrieved data set.
9. A computing device, comprising:
one or more processors; and
a memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for:
Receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
a data visualization area;
a tool rack area having a plurality of tool racks, each tool rack defining a respective feature of the data visualization based on placement of the data field on the respective tool rack; and
displaying a pattern information area of a plurality of data objects, wherein each data object has one or more selectable data fields, and each data field is designated as a dimension or metric;
receiving user input selecting a metric data field and a dimension data field from the pattern information region;
in response to the user input:
generating custom calculation for the aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and
storing the custom computation as a new selectable data field associated with a data object corresponding to the dimension data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field onto a first tool rack in the tool rack area, wherein the first tool rack defines a first data visualization feature; and
Generating and displaying a data visualization in the data visualization area, wherein the first data visualization characteristic of the data visualization is determined from the custom calculated data value.
10. The computing device of claim 9, wherein the user input is a drag-and-drop operation comprising dragging the metric data field and dropping the metric data field onto the dimension data field.
11. The computing device of claim 10, wherein the dimension data field is a primary key or a surrogate key of the data object corresponding to the dimension data field.
12. The computing device of claim 9, wherein the user input further comprises:
a user initiates a context menu associated with the metric data field or the dimension data field; and
a context menu option is selected to construct the custom computation.
13. The computing device of claim 12, wherein the one or more programs further comprise instructions for responding to a user selection of the context menu option by:
displaying a dialog window filled by the generated custom computation; and
Detecting a second user input in the dialog window to edit the custom computation;
wherein the custom computation is stored as a new selectable data field in response to detecting that a user activates a save function visibility in the dialog window.
14. The computing device of claim 9, wherein the custom computation is in the form { FIXED [ field 1]: AGG ([ field 2 ]) }, where "field 1" is the name of the dimension data field, "AGG" is an aggregation operator, and "field 2" is the name of the metric data field.
15. The computing device of claim 14, wherein the aggregation operator is one of SUM, COUNT, AVERAGE, MIN and MAX.
16. The computing device of claim 9, wherein the instructions to generate and display the data visualization in the data visualization area further comprise instructions to:
generating one or more database queries directed to the data source in accordance with a user placing data fields from the pattern information area onto a tool rack in the tool rack area, placing data fields from the pattern information area onto a tool rack in the tool rack area including placing the new selectable data fields onto the first tool rack;
Executing the one or more database queries to retrieve one or more data sets from the data source, the data sets comprising data aggregated for the metric data fields grouped according to the dimension data fields; and
and generating and displaying the data visualization according to the retrieved data set.
17. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having one or more processors and memory, the one or more programs comprising instructions for:
receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
a data visualization area;
a tool rack area having a plurality of tool racks, each tool rack defining a respective feature of the data visualization based on placement of the data field on the respective tool rack; and
displaying a pattern information area of a plurality of data objects, wherein each data object has one or more selectable data fields, and each data field is designated as a dimension or metric;
receiving user input selecting a metric data field and a dimension data field from the pattern information region;
In response to the user input:
generating custom calculation for the aggregate data of the metric data fields, wherein the custom calculation is performed by grouping according to different data values of the dimension data fields; and
storing the custom computation as a new selectable data field associated with a data object corresponding to the dimension data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field onto a first tool rack in the tool rack area, wherein the first tool rack defines a first data visualization feature; and
generating and displaying a data visualization in the data visualization area, wherein the first data visualization characteristic of the data visualization is determined from the custom calculated data value.
18. The computer-readable storage medium of claim 17, wherein the user input is a drag-and-drop operation comprising dragging the metric data field and dropping the metric data field onto the dimension data field.
19. The computer-readable storage medium of claim 17, wherein the user input further comprises:
A user initiates a context menu associated with the metric data field or the dimension data field; and
a context menu option is selected to construct the custom computation.
20. The computer-readable storage medium of claim 19, wherein the one or more programs further comprise instructions for responding to a user selection of the context menu option by:
displaying a dialog window filled by the generated custom computation; and
detecting a second user input in the dialog window to edit the custom computation;
wherein the custom computation is stored as a new selectable data field in response to detecting that a user activates a save function visibility in the dialog window.
CN202180057913.5A 2020-10-05 2021-09-29 Method and user interface for generating level of detail calculations for data visualization Pending CN116235162A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063087862P 2020-10-05 2020-10-05
US63/087,862 2020-10-05
US17/095,696 US11429271B2 (en) 2019-11-11 2020-11-11 Methods and user interfaces for generating level of detail calculations for data visualizations
US17/095,696 2020-11-11
PCT/US2021/052578 WO2022076220A1 (en) 2020-10-05 2021-09-29 Methods and user interfaces for generating level of detail calculations for data visualizations

Publications (1)

Publication Number Publication Date
CN116235162A true CN116235162A (en) 2023-06-06

Family

ID=81126188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180057913.5A Pending CN116235162A (en) 2020-10-05 2021-09-29 Method and user interface for generating level of detail calculations for data visualization

Country Status (4)

Country Link
EP (1) EP4182807A1 (en)
JP (1) JP2023543543A (en)
CN (1) CN116235162A (en)
WO (1) WO2022076220A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055489B2 (en) * 2018-10-08 2021-07-06 Tableau Software, Inc. Determining levels of detail for data visualizations using natural language constructs

Also Published As

Publication number Publication date
EP4182807A1 (en) 2023-05-24
JP2023543543A (en) 2023-10-17
WO2022076220A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
US11429264B1 (en) Systems and methods for visually building an object model of database tables
US10698589B1 (en) Data visualization user interface for simplified custom calculations
US11244006B1 (en) Using natural language processing for visual analysis of a data set
US10895976B2 (en) Systems and methods for using analytic objects in a dynamic data visualization interface
CA2951145C (en) Page constructor and page constructing method
US10997217B1 (en) Systems and methods for visualizing object models of database tables
US9715331B2 (en) Generating an insight view while maintaining report context
US9372596B2 (en) Assistive overlay for report generation
US11455339B1 (en) Incremental updates to natural language expressions in a data visualization user interface
US11068131B1 (en) Integrated drill down within a natural language interface for a data analysis platform
US20140331179A1 (en) Automated Presentation of Visualized Data
US11475052B1 (en) Using visual cues to validate object models of database tables
US11625163B2 (en) Methods and user interfaces for generating level of detail calculations for data visualizations
CN116235162A (en) Method and user interface for generating level of detail calculations for data visualization
US11698903B2 (en) Visually defining multi-row table calculations in a data preparation application
JP2023535533A (en) Conversational Natural Language Interface for Data Analysis
AU2022358239A1 (en) User-defined groups of graphical objects

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination