Building a view of a dataset incrementally according to data types of user-selected data fields

Information

  • Patent Grant
  • 11847299
  • Patent Number
    11,847,299
  • Date Filed
    Monday, February 27, 2023
    a year ago
  • Date Issued
    Tuesday, December 19, 2023
    11 months ago
Abstract
A computer device receives, via a graphical user interface, a first user input specifying a first data field of the dataset. The first data field has a first data type. In response to receiving the first user input, the device selects a first visualization type of a data visualization, for visualizing a portion of the dataset based on the first data type, and displays the data visualization. The device receives, via the graphical user interface, a second user input specifying a second data field of the dataset. The second data field is distinct from the first data field and has a second data type. In response to receiving the second user input, the device selects a second visualization type based at least in part on the first data type and the second data type, and displays an updated data visualization, having the second visualization type, in the graphical user interface.
Description
FIELD OF THE INVENTION

This invention relates generally to computer systems and methods for displaying data such as database information. The invention relates specifically to a computer system and method for displaying data clearly and effectively based upon the types of data found in a dataset.


BACKGROUND OF THE INVENTION

Data is more than the numbers, values, or predicates of which it is comprised. Data resides in multi-dimensional spaces which harbor rich and variegated landscapes that are not only strange and convoluted, but are not readily comprehendible by the human brain. The most complicated data arises from measurements or calculations that depend on many apparently independent variables. Data sets with hundreds of variables arise today in many contexts, including, for example: gene expression data for uncovering the link between the genome and the various proteins for which it codes; demographic and consumer profiling data for capturing underlying sociological and economic trends; sales and marketing data for huge numbers of products in vast and ever-changing marketplaces; and environmental measurements for understanding phenomena such as pollution, meteorological changes and resource impact issues. International research projects such as the Human Genome Project and the Sloan Digital Sky Survey are also forming massive scientific databases. Furthermore, corporations are creating large data warehouses of historical data on key aspects of their operations. Corporations are also using desktop applications to create many small databases for examining specific aspects of their business.


One challenge with any of these databases is the extraction of meaning from the data they contain: to discover structure, find patterns, and derive causal relationships. Often, the sheer size of these data sets complicates this task and means that interactive calculations that require visiting each record are not plausible. It may also be infeasible for an analyst to reason about or view the entire data set at its finest level of detail. Even when the data sets are small, however, their complexity often makes it difficult to glean meaning without aggregating the data or creating simplifying summaries.


Among the principal operations that may be carried out on data, such as regression, clustering, summarization, dependency modeling, and classification, the ability to see patterns rapidly is of paramount importance. Data comes in many forms, and the most appropriate way to display data in one form may not be the best for another. In the past, where it has been recognized that many methods of display are possible, it has been a painstaking exercise to select the most appropriate one. However, identifying the most telling methods of display can be intimately connected to identifying the underlying structure of the data itself.


Business intelligence is one rapidly growing area that benefits considerably from tools for interactive visualization of multi-dimensional databases. A number of approaches to visualizing such information are known in the art. However, although software programs that implement such approaches are useful, they are often unsatisfactory. Such programs have interfaces that require the user to select the most appropriate way to display the information.


Visualization is a powerful tool for exploring large data, both by itself and coupled with data mining algorithms. However, the task of effectively visualizing large databases imposes significant demands on the human-computer interface to the visualization system. The exploratory process is one of hypothesis, experiment, and discovery. The path of exploration is unpredictable, and analysts need to be able to easily change both the data being displayed and its visual representation. Furthermore, the analyst should be able to first reason about the data at a high level of abstraction, and then rapidly drill down to explore data of interest at a greater level of detail. Thus, a good interface both exposes the underlying hierarchical structure of the data and supports rapid refinement of the visualization.


Tableau® software and Microsoft® Excels are examples of visualization software that create views of datasets. Tableau® Table Drop allows users to drag data fields onto a Tableau® view to create a graphical views. When the view is a text table, the behavior is similar to the drags supported by Excel® Pivot Tables. For example, dragging a quantitative data type (Q) onto a text table (X=O Y=O T=Q, where “O” stands for ordinal data), extends the table to put the two measures next to each other (X=O Y=O, Om T=Qm, where “Om” stands for measure ordinal data and “Qm” stands for measure quantitative data). However, Tableau® Table Drop has functionality not found in Excel® Pivot Tables in that it may change the view type of a view when fields are dragged onto the view. For example, dragging a Q onto a bar chart (X=O Y=Q) can create a stacked bar chart (X=O Y=Qm C=Om). Or, if there was already a field with a color encoding (X=O Y=Q C=F) in the view, then the software can transform the Q data into Qm data, and place the measure names on the Level of Detail encoding (X=O Y=Qm C=F L=Om). With scatter plots, the logic is similar, except the transformation of Q to Qm and placement of measure names on the Level of Detail encoding are triggered when an existing field already has a shape encoding.


In addition to various software programs, the known art further provides formal graphical presentations. Bertin's Semiology of Graphics, University of Wisconsin Press, Madison Wisconsin, (1983), is an early attempt at formalizing graphic techniques. Bertin developed a vocabulary for describing data and techniques for encoding the data into a graphic. Bertin identified retinal variables (position, color, size, etc.) in which data can be encoded. Cleveland (The Elements of Graphing Data, Wadsworth Advanced Books and Software, (1985), Pacific Grove, California; and Visualizing Data, (1993), Hobart Press) used theoretical and experimental results to determine how well people can use these different retinal properties to compare quantitative variations.


Mackinlay's APT system (ACM Trans. Graphics, 5, 110-141, (1986)) was one of the first applications of formal graphical specifications to computer generated displays. APT uses a graphical language and a hierarchy of composition rules that are searched through in order to generate two-dimensional displays of relational data. The Sage system (Roth, et al., (1994), Proc. SIGCHI '94, 112-117) extends the concepts of APT, providing a richer set of data characterizations and forming a wider range of displays. The existing art also provides for the assignment of a mark based upon the innermost data column and row of a dataset (Hanrahan, et al., U.S. patent application Ser. No. 11/005,652, “Computer System and Methods for Visualizing Data with Generation of Marks”). Heuristically guided searches have also been used to generate visualizations of data (Agrawala, et al., U.S. Pat. No. 6,424,933, “System and Method for Non-Uniform Scaled Mapping”).


A drawback with the formal graphical specifications of the art is that they do not provide any guidance to a user as to useful and clear visual formats in which a set of data could be rendered. The rendering of the data is such that there is no analysis to examine the resulting visualization for clarity or usefulness. Further, in the use of heuristic searches (trial-and-error method), the searches fail, leaving the user with the problem of finding clear or useful views. Heuristic algorithms can have complex behavior that creates a poor user experience. When a user does not understand why a heuristic algorithm generates certain views, the algorithm becomes unpredictable to the user and the user will not be inclined to use the algorithm.


Based on the background state of the art, as described herein, what is needed are improved methods and graphical interfaces wherein the initial visualization of data has been determined to be a clear and useful visualization, and this visualization is then automatically presented to the user.


SUMMARY OF THE INVENTION

The present invention provides improved methods for visualizing data.


A first aspect of the invention provides a computer implemented method for automatically and visually displaying a graphical representation of a dataset, comprising: receiving a user selected and ordered plurality of fields; selecting a resulting view for displaying the dataset based on the order of the user selected fields; and displaying the dataset or a transformation of the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view.


A second aspect of the invention provides a computer implemented method for automatically and visually displaying a graphical representation of a dataset with a plurality of tuples, comprising: forming a plurality of rated alternative views, each alternative view showing all tuples, or a transformation of all tuples, in the dataset; selecting a resulting view from the plurality of alternative views, based upon a user selected option; and displaying the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view. In yet a further embodiment, when the user selected option is a first option, the selecting step further comprises: ranking the plurality of alternative views according to a rating system; and assigning the resulting view as the highest ranked alternative view. In still another embodiment, when the user selected option is a second option, the selecting step further comprises: displaying a list of the alternative views; receiving the user's selection of an alternative view; and assigning the resulting view as the alternative view selected by the user.


A third aspect of the invention provides a computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism for automatically and visually displaying a graphical representation of a dataset, the computer program mechanism comprising: a field receiver for receiving a user selected and ordered plurality of fields; a resulting view selector for selecting a resulting view for displaying the dataset based on the order of the user selected fields; and a dataset displayer for displaying the dataset or a transformation of the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view.


A fourth aspect of the invention provides a computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism for automatically and visually displaying a graphical representation of a dataset with a plurality of tuples, the computer program mechanism comprising: an alternative view former for forming a plurality of rated alternative views, each alternative view showing all tuples, or a transformation of all tuples, in the dataset; a resulting view selector for selecting a resulting view from the plurality of alternative views, based upon a user selected option; and a dataset displayer for displaying the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view. In yet a further embodiment, when the user selected option is a first option, the resulting view selector further comprises: an alternative view ranker for ranking the plurality of alternative views according to a rating system; and a view assignor for assigning the resulting view as the highest ranked alternative view. In still another embodiment, when the user selected option is a second option, the resulting view selector further comprises: a list displayer for displaying a list of the alternative views; a selection receiver for receiving the user's selection of an alternative view; and a view assignor for assigning the resulting view as the alternative view selected by the user.


A fifth aspect of the invention provides a computer system for automatically and visually displaying a graphical representation of a dataset, the computer system comprising: a central processing unit; a memory, coupled to the central processing unit, the memory storing: the dataset; a programming module comprising, comprising: instructions for receiving a user selected and ordered plurality of fields; instructions for selecting a resulting view for displaying the dataset based on the order of the user selected fields; and instructions for displaying the dataset or a transformation of the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view.


A sixth aspect of the invention provides a computer system for automatically and visually displaying a graphical representation of a dataset with a plurality of tuples, the computer system comprising: a central processing unit; a memory, coupled to the central processing unit, the memory storing: the dataset; a programming module comprising: instructions for forming a plurality of rated alternative views, each alternative view showing all tuples, or a transformation of all tuples, in the dataset; instructions for selecting a resulting view from the plurality of alternative views, based upon a user selected option; and instructions for displaying the dataset according to the resulting view. In one embodiment, the dataset is retrieved from a remote database. In another embodiment, rules are used to select the resulting view. In yet another embodiment, the rules are predetermined. In other embodiments, the rules are determined by the user's preferences or usage. In a further embodiment, heuristics are used to select the resulting view. In yet a further embodiment, when the user selected option is a first option, the instructions for selecting further comprises: instructions for ranking the plurality of alternative views according to a rating system; and instructions for assigning the resulting view as the highest ranked alternative view. In still another embodiment, when the user selected option is a second option, the instructions for selecting further comprises: instructions for displaying a list of the alternative views; instructions for receiving the user's selection of an alternative view; and instructions for assigning the resulting view as the alternative view selected by the user.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an illustration of a computer system that facilitates the visualization of a dataset in a clear and useful form.



FIG. 2 is a flowchart of the steps through which a system proceeds in one embodiment of the present invention.



FIGS. 3a and 3b are illustrations of one way of presenting an embodiment of the present invention to a user.



FIGS. 4a-4i are rules whereby a field may be added to an existing view or whereby a field may be used as the only field in a view.



FIGS. 5a-5c are examples of different views of a single dataset.



FIGS. 6a and 6b are flowcharts of the steps through which a system proceeds in another embodiment of the present invention.



FIG. 7 is a table showing the criteria for forming views of a dataset and a rating system for one embodiment of the present invention.



FIGS. 8a-81 are resulting views, based upon an embodiment of the present invention.





Like reference numerals refer to corresponding parts throughout the several views of the drawings.


DETAILED DESCRIPTION OF THE INVENTION

The present invention provides methods, computer program products, and computer systems for automatically providing a user with a clear and useful view of a dataset. In a typical embodiment, the present invention builds and displays a view of a dataset as a user adds fields to the dataset or as a dataset is accessed, such that the view is clear and useful, and is automatically presented to the user. An advantage of the present invention is that data is presented in a clear and useful form automatically.


The present invention operates on a set of data, called a dataset, that are made up of tuples. As one skilled in the art will realize, the dataset can be a relational database, a multidimensional database, a semantic abstraction of a relational database, or an aggregated or unaggregated subset of a relational database, multidimensional database, or semantic abstraction. Fields are categorizations of data in a dataset. A tuple is an item of data (such as a record) from a dataset, specified by attributes from fields in the dataset. A search query across the dataset will return one or more tuples. Fields contain data that are of particular types, and each field is of a particular type. These types include:
















Data Type
Symbol









Ordinal
O



Ordinal time (date)
Ot



Dependent ordinal
Od



(categorical measure)




Measure names
Om



Quantitative
Q



Independent Quantitative
Qi



(dimension)




Dependent Quantitative
Qd



(measure)




Measure values
Qm



Quantitative time
Qt



Quantitative position
Qx











Measure names may include an ordinal field whose domain is the name of one or more Qd fields. Measure values may include a dependent quantitative field whose domain and values are the blending of the Qd fields whose names appear in the domain of measure names.


A view is a visual representation of a dataset or a transformation of that dataset. Text table, bar chart, and scatter plots are all examples of types of views. Views contain marks that represent one or more tuples in a dataset. In other words, marks are visual representations of tuples in a view. A mark is typically associated with a type of graphical display. Some examples of views and their associated marks are as follows:
















View Type
Associated Mark









Table
Text



Scatter Plot
Shape



Bar Chart
Bar



Gantt Plot
Bar



Line Graph
Line Segment



Circle Graph
Circle











FIG. 1 is an illustration of a computer system that facilitates the visualization of a dataset in a clear and useful form. System 100 includes memory 102, CPU 180, user interface 184, storage unit 194, disk controller 192, and bus 182 that connects all of system 100's elements together. System 100 may also have network connection 196 for communication with other systems on a network. System 100 also includes memory 102, which stores operating system 104, file system 106, as well as various other modules related to the present invention. Additionally, memory 102 may also store dataset 140, which contains tuples. System 100 may also be connected to database 150 where a dataset may be retrieved and stored in memory 102. Memory 102 also stores computer program mechanisms that are necessary to some embodiments of the present invention.


In FIG. 2, flowchart 200 describes the steps through which a system proceeds in one embodiment of the invention. At step 202, ordered fields selected by a user are received. A resulting view is selected at step 204, and the dataset is displayed at step 206 according to the resulting view.


The computer system modules used to perform this embodiment of the invention are shown in FIG. 1. Field receiver 108 performs step 202 by receiving ordered fields selected by the user. Resulting view selector 110 performs step 204 and selects a resulting view. Dataset displayer 112 performs step 206 and displays the dataset according to the resulting view.


According to one embodiment of the invention, resulting view selector 110 selects the resulting view by choosing rule(s) for adding the user selected ordered fields (step 208). This is accomplished by rule chooser 114. Rule applier 116 then applies the rule(s) to determine the resulting view's view type (step 210). In another embodiment of the invention, before rule chooser 114 chooses rule(s), view determiner 118 determines whether a first view exists (step 212). In yet another embodiment of the invention, the dataset is displayed in step 206 when mark chooser 126 chooses a mark for the resulting view (step 218), and dataset renderer 128 renders the dataset according to the mark (step 220).



FIGS. 4a-4i show sets of rules that are associated with adding (or “dropping”) fields with particular data types. The field may be the only field in a view, or the field may be in addition to fields already in an existing view. When dropping a field, the field is added either as a column or a row, or it may be encoded. Encodings include color, size, and shape to represent a value. For example, red may represent all values between 1 and 10. The following convention is used for operators in the rules shown in FIGS. 4a-4i (“E” designates encoding):
















Operator
Limitations









= Assign field to a clause
Left hand side is a



+= Add field to the end of the clause
column or row



(some rearrangements may occur)
Right hand side




must be O or Qd



*= Blend field with column or row
Right hand side



(blend Qd with first E accepting/containing a
must be Qd



Qd). The blend will result in Qm being on




column or row, and an Om being added to




the view.




? Guard the action. Only add if the
Unary



column or row accepts the field and the




cardinality of the field is less than the




cardinality associated with the column or




row.










The sets of rules are organized first by the type of the field that is dropped (e.g. O or Qd), and then by the type of the view that the field is being dropped onto. The rules are further broken down by the type of the view. The type of a view depends on their innermost row and column. For example, OO is a view with ordinal fields in the row and column; OQ is a view with an ordinal field in the row and a quantitative field in the column; and ϕ is an empty view with no fields. For each type of field being dropped, a rule table is shown containing the rules for each type of view into which the field is being dropped. The columns of the rule tables represent the contents of the innermost field on the column (X), and the rows of the rules table the innermost field on the row (Y).


In step 208, rule(s) for adding the user selected field's data type are chosen. For example, if a user selected field is an ordinal, then the set of rules in FIG. 4a would be used. Or, if a user selected field is an independent quantitative, then the set of rules in FIG. 4d would be used. If in step 212 view determiner 118 determines that no first view exists, then rule chooser 114 would choose the rule in row 1 column 1 of FIG. 4a as the rule in step 208. If in step 212 view determiner 118 determines that a first view exists, and the first view contains an independent quantitative field in the innermost column and an independent quantitative field in the innermost row of the first view, then rule chooser 114 would select the rule in row 3 column 3 of FIG. 4a as the rule in step 208. Finally, in step 210, rule applier 116 applies the rule selected by rule chooser 114. If no first view exists, then the resulting view will contain a single column (Y=O). If the first view was of the QiQi type, then the resulting view will contain an encoded field (E+=O).


Notes for FIG. 4a:

    • E+=O adds to shape then color then Z. The O is always added.
    • ?E+=O conditionally adds to shape then color. O is only added if the encoding is empty. And if the cardinality of the field is less than the cardinality supported by the encoding.
    • In the above rules, the shape shelf is only considered if the mark is shape.
    • Nothing is dropped on an encoding if the mark is a bar. That is, the guarded rule always fails. We try to avoid stacking of bars (more generally, nothing is dropped if we are stacking because we don't know if the field supports stacking (is additive)).
    • The Qi row represents Qi on the Y axis. These cases are rare because Qi is normally placed on the X axis.


Notes for FIG. 4b:

    • The guard E=ϕ? checks whether the encoding (text or size) is empty.
    • E*=Qd first tries to add to text then size then color then Z.
    • ?E*=Qd first tries to add to text then size.
    • In the above rules, the text shelf is only considered if the mark is text.
    • An encoding accepts the Qd if it is empty or already contains a Qd. It does not accept the Qd if it contains an O.
    • If the field accepting the encoding contains a Qd or a Qm, then the new Qd is blended with the contents to produce a Qm. If an Om is generated by the blend, it is added to the column shelf if that shelf is empty, otherwise it is added to the row shelf.
    • The Ot rules take precedence over the O rules.
    • The guard Y=Ot? checks whether the Y shelf contains an Ot.
    • The Ot rows represent Ot on the Y axis. This should be rare since best practices dictate that Ot should be on the X axis.
    • XY+=Qd converts to a matrix of scatterplots. All Qds on the rows and columns are the same.


Conversions for FIG. 4b:

    • The ϕϕ rules will drop Qd on the Y axis, unless the text or size encoding contains a Qd. That is, if we are building a text table, continue to build a text table; otherwise make a chart.
    • The OO rules continue to add measures to the text table.
    • The Qiϕ and QiO rules create QiQd (line) graphs.
    • The ϕQd rules create QdQd scatterplots.
    • The OQd rules create stacked charts.
    • The QdQd rule creates a matrix of scatterplots.


Notes for FIG. 4c:

    • This set of rules is used when dropping a Qd on a pane. If no match is found, then we use the more general rules for dropping a Qd. The goal is to try to add the Qd to the encodings when Qd is dropped on the pane.
    • The guarded version of the *=operator only adds Qd to text or size. If it can't, that operator is not applied.


Notes for FIG. 4d:

    • Always drop Qi on the X axis.
    • But don't do it if the X axis contains a Qd.
    • If there is an existing Qi, then the Qi's are concatenated.


Notes for FIG. 4d:

    • Always drop Ot on the X axis.
    • If there is an existing Qi or Qd, then move the Ot leftward until all of the Q's are to the right.


Notes for FIG. 4g:

    • The += operator only adds Od to shape or color. If it can't, that operator is not applied.
    • If no match is found, then we don't add the Od. We really want to put Od on an encoding.


Notes for FIG. 4i:

    • Do nothing if a Q is already being used.
    • Apply Qd rules if one of the O's is an Ot.
    • Adding a Qd makes a bar chart.
    • Adding an Om makes a text table.


The order in which fields are added affect the view type of the resulting view. For example, if a measure data type field is added to an empty view, and is subsequently followed by a dimension data type field, the resulting view will be a bar chart. However, if a measure data type field is added to an empty view subsequent to a dimension data type field, then the resulting view will be a text table. The resulting view's view type is thusly selected based upon a set of rules. The view type is then assigned to the resulting view and the view is then populated with data from the dataset. In one embodiment, the set of rules are predetermined. In another embodiment, the set of rules are based upon a user's preferences or actual usage. For example, a user may be given the opportunity to designate the best view type for various sequences of the addition of fields to views. Or, after the visual plot is populated and rendered for the user, the user is allowed to choose a different rendering. The user's choice as to the ultimate resulting view, if recorded, may indicate the user's preference for what view type the user considers the clear and/or useful. In yet another embodiment, heuristics may be used instead of a set of rules for selecting a resulting view.


In one embodiment, the cardinalities of the fields in the resulting view are computed and are considered in determining how the user selected fields are added. In set theory, cardinality is the size of a set. In the present invention, cardinality refers to the number of distinct instances that are associated with a field's type. For example, if a field type is “States of America”, then the cardinality of such a field would be 50.


In another embodiment, the functional dependency of the fields in the resulting view are computed and are considered in determining how the user selected fields are added. Functional dependency refers to the determination of one field by another field. For example, if one field is of the type “States of America,” and a second field is “Inches of Rainfall of the States of America,” then the second field depends upon the first. Another example is shown in FIGS. 5a-5c. Referring to FIGS. 5a-5c, there is a functional dependency from the Product field to the Product Type field because each product has a unique product type. This can be seen in FIG. 5a because each product (in the column where the product field resides) has a single product type (in the column where the product type field resides) to its right. When the columns are reversed in FIG. 5b, it is apparent that there is no functional dependency from the Product Type field to the Product Field because each product type has multiple products. Finally, when the fields that form a functional dependency are placed in both rows and columns (FIG. 5c), the resulting view contains much empty space, which makes the resulting view less effective.


In yet another embodiment, in the application of the selected rule to populate the resulting view with data from the dataset, a mark is chosen for the resulting view's view type and the data from the dataset is rendered according to the mark. This is shown in FIG. 2, where, in step 218, mark chooser 126 chooses a mark for the resulting view, and data renderer 128 renders the dataset according to the mark in step 220.



FIGS. 3a and 3b show ways of operating an embodiment of the present invention. A user may drag a new field from a list of available fields and drop the field onto a view. Another way of operating an embodiment of the present invention is for the user to double click on a new field from a list of available fields. This automatically adds the new field to an existing view or automatically forms a new view if there is not an existing view. Other ways of adding or dropping fields include double clicking on a field, selecting fields, typing field names, and creating a specification for a set of fields using statistical analysis, historical analysis, or heuristic algorithms.


Now, referring to FIG. 6a a flowchart is provided for the steps through which a system proceeds in another embodiment of the present invention. First, alternative view former 130 forms alternative views of the tuples of the dataset (step 602). Resulting view selector 110 then selects a resulting view from the alternative views (step 604). Finally, dataset displayer 112 displays the dataset according to the resulting view (step 606).


In another embodiment, alternative views are formed based upon a set of criteria. FIG. 7 is a table showing the criteria for forming alternative views of a dataset and a rating system for one embodiment of the present invention. For example, if all the data in a dataset is aggregated and does not contain any independent quantitative data, then one of the possible views is a text table as determined by the first rule. Its rating is 1 meaning that it will only be the highest ranking view if other views such as Line (Measure), which was a higher rating of 9, is not applicable to the selected fields. As one skilled in the art will realize, these ratings could also be based on other criteria such as user preference, usage patterns, and statistical analysis of the data.


In one embodiment, if the user selected a first option, then the alternative views are ranked according to a rating system by alternative view ranker 134 in step 608. View assignor 120 then assigns the resulting view as the highest ranked alternative view at step 610. Dataset displayer 112 then displays the dataset according to the resulting view in step 606. For example, if all the data in a dataset is aggregated and does not contain any independently quantitative data, then alternative views of all the view types listed in FIG. 7 are generated at step 602. Then, at step 604, the text table alternative view is selected to be the resulting view, and the dataset is displayed as a text table in step 606. In another embodiment, in accomplishing step 602 (forming rated alternative views showing all tuples), view determiner 118 determines applicable view types according to the dataset's data types. Mark chooser 126 then identifies an associated mark for each applicable view type at step 620, which is then used to form alternative views for each applicable view type at step 622.


In another embodiment, if the user selected a second option, then a list of alternative views would be displayed by list displayer 136 at step 622 for the user's selection. After the user's selection is received at step 624 by selection receiver 138, the resulting view is assigned as the alternative view that the user selected by view assignor 120 at step 616, and dataset displayer 112 then displays the dataset according to the resulting view in step 606.


In yet another embodiment of the invention, cardinality computer 122 computes the cardinality of the fields in the plurality of tuples when forming the alternative views. In a further embodiment, functional dependency computer 124 computes the functional dependency of the fields in the plurality of tuples when forming the alternative views.



FIG. 8a shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a text table, or the user selected the alternative text table view. The dataset must include only aggregated data and no independently quantitative data.



FIG. 8b shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a heat map, or the user selected the alternative heat map view. The dataset must include only aggregated data, at least one field of ordinal data, one to two fields of dependent quantitative data, and no independent quantitative data.



FIG. 8c shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a side-by-side bar chart, or the user selected the alternative side-by-side bar chart view. The dataset must include only aggregated data, at least one field of ordinal data, at least one field of dependent quantitative data, and no independent quantitative data.



FIG. 8d shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a stacked bar chart, or the user selected the alternative stacked bar chart view. The dataset must include only aggregated data, at least two fields of ordinal data, at least one dependent quantitative data, and no independent quantitative data.



FIG. 8e shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a measure bar chart, or the user selected the alternative measure bar chart view. The dataset must include only aggregated data, at least one field of ordinal data, at least two fields of dependent quantitative data, and no independent quantitative data.



FIG. 8f shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a dimension line graph, or the user selected the alternative dimension line graph view. The dataset must include only aggregated data, at least one field of dependent quantitative data, at least one field of dates, and no independent quantitative data.



FIG. 8g shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a measure line graph, or the user selected the alternative measure line graph view. The dataset must include only aggregated data, at least one field of dependent quantitative data, and at least one field of independent quantitative data or dates.



FIG. 8h shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a circle graph, or the user selected the alternative circle graph view. The dataset must not include any aggregated data or independent quantitative data, and must include at least one field each of ordinal and dependent quantitative data.



FIG. 8i shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a Gantt chart, or the user selected the alternative Gantt chart view. The dataset must include only aggregated data, at least one field of ordinal data, less than three fields of dependent quantitative data, and at least one field of independently quantitative data or of relational dates.



FIG. 8j shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a single scatter plot, or the user selected the alternative single scatter plot view. The dataset must include two to four fields of dependent quantitative data, and at least one field of independent quantitative data.



FIG. 8k shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a matrix scatter plot, or the user selected the alternative matrix scatter plot view. The dataset must include three to six fields of dependent quantitative data, and at least one field of independent quantitative data.



FIG. 8l shows a rendering of the data in a dataset in an resulting view where either the highest ranked view type was a histogram, or the user selected the alternative histogram view. The dataset must include only aggregated and relational data, must have exactly one field of dependent quantitative data, and must have no independent quantitative data.


The present invention not only accepts datasets and databases as inputs, it also accepts views as inputs. A view can be used to represent a set of fields. Resulting views can also depend on the existing view. For example, rules or operators can take into account the current view to generate a new view that is related to the current view. Also, as one skilled in the art will realize, many other rules are possible, include ones to generate statistical, maps, pie charts, and three dimensional views of data.


The present invention can be implemented as a computer program product that comprises a computer program mechanism embedded in a computer readable storage medium. For instance, the computer program product could contain the program modules shown in FIG. 1. These program modules may be stored on a CD-ROM, magnetic disk storage product, or any other computer readable data or program storage product. The software modules in the computer program product can also be distributed electronically, via the Internet or otherwise, by transmission of a computer data signal (in which the software modules are embedded) on a carrier wave.


Many modifications and variations of this invention can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. The specific embodiments described herein are offered by way of example only, and the invention is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled.


All references cited herein are incorporated herein by reference in their entirety and for all purposes to the same extent as if each individual publication or patent or patent application was specifically and individually indicated to be incorporated by reference in its entirety for all purposes.

Claims
  • 1. A method for generating data visualizations of a dataset, comprising: at a computer device having one or more processors and memory storing one or more programs configured for execution by the one or more processors: receiving, via a graphical user interface, a first user input specifying a first data field of the dataset, the first data field having a first data type;in response to receiving the first user input: selecting, from a plurality of predetermined visualization types, a first visualization type of a data visualization, for visualizing a portion of the dataset based on the first data type; anddisplaying the data visualization, having the first visualization type, in the graphical user interface, the data visualization including a first plurality of visual marks representing data values for data fields that have been selected for inclusion in the data visualization, including the first data field;receiving, via the graphical user interface, a second user input specifying a second data field of the dataset, wherein the second data field is distinct from the first data field and has a second data type; andin response to receiving the second user input: selecting a second visualization type, from the plurality of predetermined visualization types, based at least in part on the first data type and the second data type, wherein the second visualization type is different from the first visualization type; anddisplaying an updated data visualization, having the second visualization type, in the graphical user interface, the updated data visualization including a second plurality of visual marks representing data values for data fields that have been selected, by the computer device, for inclusion in the updated data visualization, including the first data field and the second data field.
  • 2. The method of claim 1, wherein the plurality of predetermined visualization types is selected from the group consisting of: a table, a bar chart, a scatter plot, a line graph, a pie chart, a Gantt chart, and a map.
  • 3. The method of claim 1, wherein receiving the first user input comprises receiving user selection of a user-selectable element, on the graphical user interface, that specifies the first data field.
  • 4. The method of claim 1, wherein receiving the first user input includes receiving user input of a string of text that is typed into the graphical user interface, the string of text including a name of the first data field.
  • 5. The method of claim 1, wherein receiving the second user input comprises: receiving user selection of a user-selectable element, on the graphical user interface, that specifies the second data field; orreceiving user input of a string of text that is typed into the graphical user interface, the string of text including a name of the second data field.
  • 6. The method of claim 1, wherein the first data type is different from the second data type.
  • 7. The method of claim 1, wherein the first data type is the same as the second data type.
  • 8. The method of claim 1, wherein the first data type and the second data type are selected from the group consisting of: dependent ordinal, measure names, independent quantitative, dependent quantitative, and measure values.
  • 9. The method of claim 1, wherein the first data type and the second data type are selected from the group consisting of ordinal, ordinal time, quantitative time, and quantitative position.
  • 10. The method of claim 1, wherein: generating the updated data visualization comprises adding color encoding to at least some of the second plurality of visual marks according to data in the second data field.
  • 11. The method of claim 1, wherein the first visualization type is a data table and the second visualization type is a bar chart.
  • 12. The method of claim 1, wherein the graphical user interface includes: a first region for displaying a plurality of user-selectable elements, each user-selectable element of the plurality of user-selectable elements corresponding to one or more respective data fields of the dataset; anda second region, distinct from the first region, for displaying the data visualization.
  • 13. The method of claim 1, wherein displaying the data visualization comprises displaying visual marks, in the data visualization, that correspond to data from one or more data fields that were previously selected for inclusion in the data visualization.
  • 14. A computer device for generating data visualizations of a dataset, comprising: a display;one or more processors;memory; andone 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, via a graphical user interface, a first user input specifying a first data field of the dataset, the first data field having a first data type;in response to receiving the first user input: selecting, from a plurality of predetermined visualization types, a first visualization type of a data visualization, for visualizing a portion of the dataset based on the first data type; anddisplaying the data visualization, having the first visualization type, in the graphical user interface, the data visualization including a first plurality of visual marks representing data values for data fields that have been selected for inclusion in the data visualization, including the first data field;receiving, via the graphical user interface, a second user input specifying a second data field of the dataset, wherein the second data field is distinct from the first data field and has a second data type; andin response to receiving the second user input: selecting a second visualization type, from the plurality of predetermined visualization types, based at least in part on the first data type and the second data type, wherein the second visualization type is different from the first visualization type; anddisplaying an updated data visualization, having the second visualization type, in the graphical user interface, the updated data visualization including a second plurality of visual marks representing data values for data fields that have been selected, by the computer device, for inclusion in the updated data visualization, including the first data field and the second data field.
  • 15. The computer device of claim 14, wherein the instructions for receiving the first user input comprise instructions for: receiving user selection of a user-selectable element, on the graphical user interface, that specifies the first data field; orreceiving user input of a string of text that is typed into the graphical user interface, the string of text including a name of the first data field.
  • 16. The computer device of claim 14, wherein the graphical user interface includes: a first region for displaying a plurality of user-selectable elements, each user-selectable element of the plurality of user-selectable elements corresponding to one or more respective data fields of the dataset; anda second region, distinct from the first region, for displaying the data visualization.
  • 17. The computer device of claim 14, wherein the first data type and the second data type are selected from the group consisting of: dependent ordinal, measure names, independent quantitative, dependent quantitative, measure values, ordinal, ordinal time, quantitative time, and quantitative position.
  • 18. The computer device of claim 14, wherein the one or more programs further comprise instructions for: storing, for each data visualization of a plurality of data visualizations previously used by a user to visualize the dataset, a respective visualization type and a respective set of data types.
  • 19. A non-transitory computer-readable storage medium storing one or more programs configured for execution by a computer device having a display, one or more processors, and memory, the one or more programs comprising instructions for: receiving, via a graphical user interface, a first user input specifying a first data field of a dataset, the first data field having a first data type;in response to receiving the first user input: selecting, from a plurality of predetermined visualization types, a first visualization type of a data visualization, for visualizing a portion of the dataset based on the first data type; anddisplaying the data visualization, having the first visualization type, in the graphical user interface, the data visualization including a first plurality of visual marks representing data values for data fields that have been selected for inclusion in the data visualization, including the first data field;receiving, via the graphical user interface, a second user input specifying a second data field of the dataset, wherein the second data field is distinct from the first data field and has a second data type; andin response to receiving the second user input: selecting a second visualization type, from the plurality of predetermined visualization types, based at least in part on the first data type and the second data type, wherein the second visualization type is different from the first visualization type; anddisplaying an updated data visualization, having the second visualization type, in the graphical user interface, the updated data visualization including a second plurality of visual marks representing data values for data fields that have been selected, by the computer device, for inclusion in the updated data visualization, including the first data field and the second data field.
  • 20. The non-transitory computer-readable storage medium of claim 19, wherein the instructions for receiving the first user input comprise instructions for: receiving user selection of a user-selectable element, on the graphical user interface, that specifies the first data field; orreceiving user input of a string of text that is typed into the graphical user interface, the string of text including a name of the first data field; andthe instructions for receiving the second user input comprise instructions for:receiving user selection of a user-selectable element, on the graphical user interface, that specifies the second data field; orreceiving user input of a string of text that is typed into the graphical user interface, the string of text including a name of the second data field.
RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/632,253, filed Jun. 23, 2017, entitled “Methods and Systems for Building a View of a Dataset Incrementally According to Data Types of User-Selected Data Fields,” which is a continuation of U.S. patent application Ser. No. 15/436,706, filed Feb. 17, 2017, now U.S. Pat. No. 10,712,903, issued Jul. 14, 2020, entitled “Computer Systems and Methods for Ranking Data Visualizations using Different Data Fields,” which is a continuation of U.S. patent application Ser. No. 14/549,482, filed Nov. 20, 2014, now U.S. Pat. No. 10,386,989, issued Aug. 20, 2019, entitled “Computer Systems and Methods for Automatically Viewing Multidimensional Databases,” which is a continuation of U.S. patent application Ser. No. 13/352,137, filed Jan. 17, 2012, now U.S. Pat. No. 9,600,528, issued Mar. 21, 2017, entitled “Computer Systems and Methods for Automatically Viewing Multidimensional Databases,” which is a continuation of U.S. patent application Ser. No. 11/223,658, filed Sep. 9, 2005, now U.S. Pat. No. 8,099,674, issued Jan. 17, 2012, entitled “Computer Systems and Methods for Automatically Viewing Multidimensional Databases,” each of which is hereby incorporated by reference in its entirety.

US Referenced Citations (220)
Number Name Date Kind
4800810 Masumoto Jan 1989 A
5036314 Barillari et al. Jul 1991 A
5060980 Johnson et al. Oct 1991 A
5143888 Olbrich Sep 1992 A
5144452 Abuyama Sep 1992 A
5169713 Kumurdjian Dec 1992 A
5265244 Ghosh et al. Nov 1993 A
5265246 Li et al. Nov 1993 A
5297280 Potts Mar 1994 A
5357603 Parker Oct 1994 A
5377348 Lau et al. Dec 1994 A
5383029 Kojima Jan 1995 A
5416895 Anderson et al. May 1995 A
5461708 Kahn Oct 1995 A
5511186 Carhart Apr 1996 A
5560007 Thai Sep 1996 A
5577241 Spencer Nov 1996 A
5581677 Myers et al. Dec 1996 A
5664172 Antoshenkov Sep 1997 A
5664182 Nierenberg et al. Sep 1997 A
5668987 Schneider Sep 1997 A
5727161 Purcell, Jr. Mar 1998 A
5794246 Sankaran et al. Aug 1998 A
5864856 Young Jan 1999 A
5893088 Hendricks et al. Apr 1999 A
5933830 Williams Aug 1999 A
6014661 Ahlberg Jan 2000 A
6031632 Yoshihara et al. Feb 2000 A
6032158 Mukhopadhyay et al. Feb 2000 A
6044374 Nesamoney et al. Mar 2000 A
6100901 Mohda et al. Aug 2000 A
6115744 Robins et al. Sep 2000 A
6137488 Kraft et al. Oct 2000 A
6154766 Yost et al. Nov 2000 A
6173310 Yost et al. Jan 2001 B1
6188403 Sacerdoti et al. Feb 2001 B1
6199063 Colby Mar 2001 B1
6208990 Suresh et al. Mar 2001 B1
6211887 Meier Apr 2001 B1
6212524 Weissman Apr 2001 B1
6222540 Sacerdoti Apr 2001 B1
6247008 Cambot et al. Jun 2001 B1
6253257 Dundon Jun 2001 B1
6260050 Yost et al. Jul 2001 B1
6269393 Yost et al. Jul 2001 B1
6300957 Rao et al. Oct 2001 B1
6301579 Becker Oct 2001 B1
6317750 Tortolani et al. Nov 2001 B1
6327628 Anuff et al. Dec 2001 B1
6339775 Zamanian et al. Jan 2002 B1
6356891 Agrawal et al. Mar 2002 B1
6377259 Tenev et al. Apr 2002 B2
6385604 Bakalash May 2002 B1
6397195 Pinard et al. May 2002 B1
6397204 Liu et al. May 2002 B1
6397214 Rogers May 2002 B1
6400366 Davies et al. Jun 2002 B1
6405195 Ahlberg Jun 2002 B1
6405208 Raghavan et al. Jun 2002 B1
6411313 Conlon et al. Jun 2002 B1
6424933 Agrawala et al. Jul 2002 B1
6490593 Proctor Dec 2002 B2
6492989 Wilkinson Dec 2002 B1
6505205 Kothuri et al. Jan 2003 B1
6522342 Gagnon et al. Feb 2003 B1
6528217 Cutter et al. Mar 2003 B2
6529217 Maguire, III et al. Mar 2003 B1
6581068 Bensoussan et al. Jun 2003 B1
6590577 Yonts Jul 2003 B1
6601075 Huang et al. Jul 2003 B1
6611825 Billheimer et al. Aug 2003 B1
6626959 Moise Sep 2003 B1
6643646 Su et al. Nov 2003 B2
6701485 Igra et al. Mar 2004 B1
6707454 Barg et al. Mar 2004 B1
6714897 Whitney et al. Mar 2004 B2
6725230 Ruth et al. Apr 2004 B2
6750864 Anwar Jun 2004 B1
6763308 Chu et al. Jul 2004 B2
6768986 Cras et al. Jul 2004 B2
6807539 Miller Oct 2004 B2
6867788 Takeda Mar 2005 B1
6906717 Couckuyt et al. Jun 2005 B2
6920608 Davis Jul 2005 B1
6928433 Goodman et al. Aug 2005 B2
6961716 Rhodes Nov 2005 B2
6985905 Prompt et al. Jan 2006 B2
7009609 Miyadai Mar 2006 B2
7023453 Wilkinson Apr 2006 B2
7039650 Adams May 2006 B2
7089266 Stolle et al. Aug 2006 B2
7117058 Lin et al. Oct 2006 B2
7143339 Weinberg Nov 2006 B2
7168035 Bell et al. Jan 2007 B1
7176924 Wilkinson Feb 2007 B2
7181450 Malloy et al. Feb 2007 B2
7191169 Tao Mar 2007 B1
7250951 Hurley et al. Jul 2007 B1
7290007 Farber et al. Oct 2007 B2
7315305 Crotty et al. Jan 2008 B2
7328407 MacLaurin Feb 2008 B2
7337163 Srinivasan Feb 2008 B1
7346839 Acharya Mar 2008 B2
7379601 Yang et al. May 2008 B2
7420562 Shinohara et al. Sep 2008 B2
7426520 Gorelik et al. Sep 2008 B2
7630971 Arrouye et al. Dec 2009 B2
7694278 Pasumansky et al. Apr 2010 B2
7716225 Dean et al. May 2010 B1
7725483 Poyourow et al. May 2010 B2
7761784 Parks et al. Jul 2010 B2
7800613 Hanrahan Sep 2010 B2
7853456 Soto et al. Dec 2010 B2
7999809 Beers et al. Aug 2011 B2
8082243 Gorelik et al. Dec 2011 B2
8140391 Jacobi et al. Mar 2012 B2
8151213 Weitzman et al. Apr 2012 B2
8269773 Gregg et al. Sep 2012 B2
8271892 Duncker et al. Sep 2012 B2
8321781 Tolle Nov 2012 B2
8412726 Yan et al. Apr 2013 B2
8442999 Gorelik et al. May 2013 B2
8860727 Beers et al. Oct 2014 B2
8874613 Gorelik et al. Oct 2014 B2
9336253 Gorelik et al. May 2016 B2
9341292 Smith May 2016 B2
9411797 Campbell Aug 2016 B2
9430469 Lam Aug 2016 B2
9489119 Smith, Jr. Nov 2016 B1
9563674 Hou et al. Feb 2017 B2
9613086 Sherman Apr 2017 B1
9710527 Sherman Jul 2017 B1
9779150 Sherman et al. Oct 2017 B1
9792017 Landefeld et al. Oct 2017 B1
20010054034 Arning Dec 2001 A1
20020016699 Hoggart et al. Feb 2002 A1
20020032682 Kobayashi et al. Mar 2002 A1
20020055939 Nardone May 2002 A1
20020118192 Couckuyt et al. Aug 2002 A1
20020123865 Whitney et al. Sep 2002 A1
20020133441 Tanaka Sep 2002 A1
20020138636 Buttner et al. Sep 2002 A1
20020154118 McCarthy et al. Oct 2002 A1
20020161664 Shaya et al. Oct 2002 A1
20030023608 Egilsson Jan 2003 A1
20030042928 Tsai Mar 2003 A1
20030195884 Boyd et al. Oct 2003 A1
20030200034 Fellenberg et al. Oct 2003 A1
20030204511 Brundage et al. Oct 2003 A1
20040103088 Cragun May 2004 A1
20040122844 Malloy Jun 2004 A1
20040139061 Colosi Jul 2004 A1
20040181543 Wu et al. Sep 2004 A1
20040183800 Peterson Sep 2004 A1
20040210491 Sadri Oct 2004 A1
20040224577 Kaji Nov 2004 A1
20040227759 McKnight et al. Nov 2004 A1
20040243593 Stolte et al. Dec 2004 A1
20050035966 Pasquarette et al. Feb 2005 A1
20050035967 Joffrain et al. Feb 2005 A1
20050038717 McQueen et al. Feb 2005 A1
20050038767 Verschell Feb 2005 A1
20050060300 Stolte Mar 2005 A1
20050076045 Stenslet Apr 2005 A1
20050099423 Brauss May 2005 A1
20050182703 D'hers Aug 2005 A1
20050210389 Middelfart Sep 2005 A1
20050231392 Meehan et al. Oct 2005 A1
20050234688 Pinto et al. Oct 2005 A1
20050234920 Rhodes Oct 2005 A1
20060004746 Angus Jan 2006 A1
20060010143 Netz Jan 2006 A1
20060020586 Prompt et al. Jan 2006 A1
20060020641 Walsh et al. Jan 2006 A1
20060031187 Pyrce et al. Feb 2006 A1
20060053363 Bargh et al. Mar 2006 A1
20060100873 Bittner et al. May 2006 A1
20060101391 Ulke et al. May 2006 A1
20060129913 Vigesaa et al. Jun 2006 A1
20060136825 Cory et al. Jun 2006 A1
20060143205 Fuchs Jun 2006 A1
20060149768 McCormack Jul 2006 A1
20060167924 Bradlee Jul 2006 A1
20060173813 Zorola Aug 2006 A1
20060206512 Hanrahan Sep 2006 A1
20060212412 Sapir Sep 2006 A1
20060218499 Matthews et al. Sep 2006 A1
20060229753 Seskin et al. Oct 2006 A1
20060294081 Dettinger Dec 2006 A1
20060294129 Stanfill Dec 2006 A1
20070006139 Rubin Jan 2007 A1
20070055487 Habitz et al. Mar 2007 A1
20070061344 Dickerman et al. Mar 2007 A1
20070100824 Richardson et al. May 2007 A1
20070112844 Tribble et al. May 2007 A1
20070156734 Dipper Jul 2007 A1
20080016026 Farber et al. Jan 2008 A1
20080059422 Tenni et al. Mar 2008 A1
20080133573 Haft et al. Jun 2008 A1
20090006370 Li Jan 2009 A1
20090276399 Irmak et al. Nov 2009 A1
20090300547 Bates et al. Dec 2009 A1
20090319548 Brown Dec 2009 A1
20100005054 Smith Jan 2010 A1
20100005114 Dipper Jan 2010 A1
20100077340 French Mar 2010 A1
20100191582 Dicker Jul 2010 A1
20110131250 Stolte Jun 2011 A1
20120116850 Abe May 2012 A1
20120117453 Mackinlay May 2012 A1
20130080444 Wakefield et al. Mar 2013 A1
20130080584 Benson Mar 2013 A1
20130166498 Aski et al. Jun 2013 A1
20130191418 Martin Jul 2013 A1
20140189553 Bleizeffer Jul 2014 A1
20150159307 He et al. Jun 2015 A1
20150278371 Anand et al. Oct 2015 A1
20180336223 Kapoor Nov 2018 A1
20200073876 Lopez Mar 2020 A1
20200125559 Talbot Apr 2020 A1
Foreign Referenced Citations (3)
Number Date Country
215657 Jan 1994 HU
WO1997012334 Apr 1997 WO
WO 2006060773 Jun 2006 WO
Non-Patent Literature Citations (124)
Entry
Becker, Visualizing Decision Table Classifiers, 1998, 4 pgs.
Beers, Notice of Allowance, U.S. Appl. No. 11/787,761, dated Apr. 8, 2011, 8 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Dec. 1, 2010, 16 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Jul. 8, 2009, 14 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Jun. 12, 2008, 12 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Sep. 14, 2010, 12 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Dec. 17, 2008, 13 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Apr. 28, 2010, 10 pgs.
Beers, Office Action, U.S. Appl. No. 11/787,761, dated Nov. 30, 2009, 14 pgs.
Beers, Office Action, U.S. Appl. No. 14/514,319, dated Jun. 4, 2015, 14 pgs.
Beers, Office Action, U.S. Appl. No. 13/211,048, dated Oct. 11, 2012, 13 pgs.
Beers, Notice of Allowance, U.S. Appl. No. 13/211,048, dated Feb. 3, 2014, 5 pgs.
Beers, Notice of Allowance, U.S. Appl. No. 13/211,048, dated Jun. 3, 2014, 9 pgs.
Bosch, Performance Analysis and Visualization of Parallel Systems Using SimOS and Rivet: A Case Study, Jan. 2000, 12 pgs.
Bosch, Rivet: A Flexible Environment for Computer Systems Visualization, Jan. 2000, 9 pgs.
Brunk, MineSet: An Integrated System for Data Mining, 1997, 4 pgs.
Cleveland, Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods, Sep. 1984, 24 pgs.
Derthick, An Interactive Visual Query Environment for Exploring Data, 1997, 11 pgs.
Freeze, Unlocking OLAP with Microsoft SQL Server and Excel 2000, 2000, pp. 155-332 and 379-422.
Fu, Implementation of Three-dimensional Scagnostics, University of Waterloo, 2009, 61 pgs.
Goldstein, A Framework for Knowledge-Based Interactive Data Exploration, Dec. 1994, 30 pgs.
Gotz, Behavior-Driven Visualization Recommendation, IBM T.J. Watson Research Center, Feb. 8-11, 2009, 10 pgs.
Gray, Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Total, 1997, 25 pgs.
Hanrahan, Notice of Allowance, U.S. Appl. No. 11/005,652, dated May 18, 2010, 4 pgs.
Hanrahan, Office Action, U.S. Appl. No. 11/005,652, dated Feb. 20, 2009, 12 pgs.
Hanrahan, Office Action, U.S. Appl. No. 11/005,652, dated Oct. 23, 2009, 14 pgs.
Hanrahan, Office Action, U.S. Appl. No. 11/005,652, dated Jul. 24, 2008, 11 pgs.
Hanrahan, Office Action, U.S. Appl. No. 11/005,652, dated Dec. 27, 2007, 11 pgs.
Hanrahan, Specification, U.S. Appl. No. 11/005,652, Dec. 2, 2004, 104 pgs.
Healey, On the Use of Perceptual Cues and Data Mining for Effective Visualization of Scientific Datasets, 1998, 8 pgs.
Key, VizDeck: Self-Organizing Dashboards for Visual Analytics, SIGMOD, May 20-24, 2012, 4 pgs.
Kohavi, Data Mining and Visualization, 2000, 8 pgs.
Livny, DEVise: Integrated Querying and Visual Exploration of Large Datasets, May 1997, 12 pgs.
MacDonald, Creating Basic Charts, 2006, 46 pgs.
Mackinlay, Notice of Allowance, U.S. Appl. No. 12/214,818, dated May 13, 2014, 9 pgs.
Mackinlay, Automating the Design of Graphical Presentations of Relational Information, 1986, 34 pgs.
Mackinlay, Show Me: Automatic Presentation for Visual Analysis, 2007, 8 pgs.
Mackinlay, Final Office Action, US 13/352, 137, dated Aug. 30, 2016, 14 pgs.
Mackinlay, Office Action, U.S. Appl. No. 13/352,137, dated Feb. 11, 2016, 14 pgs.
Mackinlay, Office Action, U.S. Appl. No. 13/352, 137, dated Jul. 25, 2015, 15 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 13/352, 137, dated Apr. 22, 2015, 15 pgs.
Mackinlay, Office Action, U.S. Appl. No. 13/352, 137, dated Dec. 12, 2014, 11 pgs.
Mackinlay, Notice of Allowance, U.S. Appl. No. 13/352,137, dated Jan. 17, 2017, 7 pgs.
Mackinlay, Pre-Interview Office Action, U.S. Appl. No. 15/632,253, dated Dec. 31, 2018, 4 pgs.
Mackinlay, First Action Interview Office Action, U.S. Appl. No. 15/632,253, dated Sep. 6, 2019, 20 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 15/632,253, dated Mar. 11, 2020, 21 pgs.
Mackinlay, Office Action, U.S. Appl. No. 15/632,253, dated Sep. 4, 2020, 42 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 15/632,253, dated Mar. 2, 2021, 20 pgs.
Mackinlay, Office Action, U.S. Appl. No. 15/632,253, dated Jun. 17, 2021, 21 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 15/632,253, dated Oct. 25, 2021, 21 pgs.
Mackinlay, Office Action, U.S. Appl. No. 15/632,253, dated Jul. 14, 2022, 16 pgs.
Mackinlay, Notice of Allowance, U.S. Appl. No. 15/632,253, dated Oct. 24, 2022, 8 pgs.
Mackinlay, Office Action, U.S. Appl. No. 11/223,658, dated Jun. 10, 2010, 22 pgs.
Mackinlay, Office Action, U.S. Appl. No. 11/223,658, dated Nov. 12, 2009, 22 pgs.
Mackinlay, Office Action, U.S. Appl. No. 11/223,658, dated Jan. 21, 2011, 22 pgs.
Mackinlay, Office Action, U.S. Appl. No. 11/223,658, dated May 21, 2008, 20 pgs.
Mackinlay, Office Action, U.S. Appl. No. 11/223,658, dated Feb. 23, 2009, 19 pgs.
Mackinlay, Office Action, U.S. Appl. No. 14/549,482, dated Aug. 6, 2015, 9 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 14/549,482, dated Mar. 10, 2016, 10 pgs.
Mackinlay, Office Action, U.S. Appl. No. 14/549,482, dated Jun. 10, 2016, 10 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 14/549,482, dated Sep. 22, 2016, 12 pgs.
Mackinlay, Office Action, U.S. Appl. No. 14/549,482, dated Jan. 13, 2017, 12 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 14/549,482, dated Aug. 23, 2017, 14 pgs.
Mackinlay, Office Action, U.S. Appl. No. 14/549,482, dated Jan. 10, 2018, 13 pgs.
Mackinlay, Office Action, U.S. Appl. No. 14/549,482, dated Sep. 10, 2018, 15pgs.
Mackinlay, Notice of Allowance, U.S. Appl. No. 14/549,482, dated Jun. 12, 2019, 7 pgs.
Mackinlay, Specification, U.S. Appl. No. 11/223,658, dated Sep. 5, 2005, 58 pgs.
Mackinlay, Office Action, U.S. Appl. No. 15/436,706, dated Oct. 30, 2018, 15 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 15/436,706, dated May 15, 2019, 17 pgs.
Mackinlay, Office Action, U.S. Appl. No. 15/436,706, dated Jan. 31, 2020, 20 pgs.
Mackinlay, Office Action, U.S. Appl. No. 16/162,332, dated Jan. 29, 2020, 22 pgs.
Mackinlay, Final Office Action, U.S. Appl. No. 16/162,332, dated Aug. 14, 2020, 22 pgs.
Mackinlay, Notice of Allowance, U.S. Appl. No. 16/162,332, dated Apr. 21, 2021, 8 pgs.
Magyar Szabadalmi Hivatal, HU Search Report, Hu P0700460, dated Oct. 9, 2007, 1 pg.
Matching and ranking legal citations, Publication No. WO1997012334A1, Google Patents, https://www.google.com/patents/WO1997012334A1?cl=en&dq=user+ranking+document+type&hl=en&sa=X&ved+OahUKEwin5K_19YILAhVP&mMKHeU2DO . . . Downloaded on Feb. 20, 2016, 11 pgs.
Miller, The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information, Mar. 2014, 19 pgs.
Perlin, An Alternative Approach to the Computer Interface, 1993, 11 pgs.
Rao, The Table Lens: Merging Graphical and Symbolic Representations in an Interactive Focus+Context Visualization for Tabular Information, Apr. 1994, 7 pgs.
Roth, Interactive Graphics Design Using Automatic Presentation Knowledge, Apr. 24-28, 1994, 7 pgs.
Roth, Visage: A User Interface Environment for Exploring Information, Oct. 28-29, 2006, 9 pgs.
Screen Dumps for Microsoft Office Excel 2003 SP2, figures 1-24, 2003, 19 pgs.
Spenke, Focus: The Interactive Table for Product Comparison and Selection, Nov. 6-8, 1996, 10 pgs.
Stevens, On the Theory of Scales of Measurement, Jun. 7, 1946, 4 pgs.
Stolte, Multiscale Visualization Using Data Cubes, 2002, 8 pgs.
Stolte, Notice of Allowance, U.S. Appl. No. 10/453,834, dated Mar. 27, 2006, 3 pgs.
Stolte, Notice of Allowance, U.S. Appl. No. 10/667,194, dated Mar. 5, 2010, 4 pgs.
Stolte, Notice of Allowance, U.S. Appl. No. 11/488,407, dated Dec. 29, 2009, 8 pgs.
Stolte, Notice of Allowance, U.S. Appl. No. 12/821,029, dated Sep. 24, 2012, 8 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Jan. 7, 2008, 10 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Feb. 9, 2009, 11 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Aug. 14, 2007, 16 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Aug. 14, 2008, 10 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Jan. 18, 2007, 15 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Sep. 25, 2009, 10 pgs.
Stolte, Office Action, U.S. Appl. No. 10/667,194, dated Jun. 26, 2006, 13 pgs.
Stolte, Office Action, U.S. Appl. No. 11/488,407, dated Apr. 3, 2009, 6 pgs.
Stolte, Office Action, U.S. Appl. No. 12/821,029, dated Apr. 12, 2011, 9 pgs.
Stolte, Office Action, U.S. Appl. No. 12/821,029, dated Feb. 24, 2012, 10 pgs.
Stolte, Office Action, U.S. Appl. No. 13/753,452, dated Sep. 26, 2014, 8 pgs.
Stolte, Final Office Action, U.S. Appl. No. 13/753,452, dated Sep. 16, 2014, 10 pgs.
Stolte, Office Action, U.S. Appl. No. 13/753,452, dated Dec. 2, 2014, 6 pgs.
Stolte, Notice of Allowance, U.S. Appl. No. 13/753,452, dated Mar. 23, 2015, 8 pgs.
Stolte, Polaris: A System for Query, Analysis, and Visualization of Multidimensional Relational Databases, Jan. 2002, 14 pgs.
Stolte, Query, Analysis, and Visualization of Hierarchically Structured Data Using Polaris, Jul. 2002, 11 pgs.
Stolte, Specification, U.S. Appl. No. 10/453,834, filed, Jun. 2, 2003, 114 pgs.
Stolte, Visualizing Application Behavior on Superscalar Processors, 1999, 9 pgs.
Savva, ReVision: Automated Classification, Analysis and Redesign of Chart Images, Oct. 16-19, 2011, 10 pgs.
Sun, Articulate: A Semi-automated Model for Translating Natural Language Queries into Meaningful Visualizations, 2010, 184 pgs.
Tableau Software Inc., IPRP, PCT/US07/009810, Oct. 22, 2008, 7 pgs.
Tableau Software Inc., ISR, PCT/US07/009810, Jul. 7, 2008, 8 pgs.
Tableau Software LLC, IPRP, PCT/US06/35300, Mar. 24, 2009, 5 pgs.
Tableau Software LLC, IPRP, PCT/US2005/043937, Jun. 5, 2007, 9 pgs.
Tableau Software LLC, ISR/WO, PCT/US06/35300, Jul. 7, 2008 6 pgs.
Tableau Software LLC, ISR/WO, PCT/US2005/043937, Apr. 18, 2007, 9 pgs.
The Board of Trustees of the Leland Stanford Jr. University, IPER, PCT/US04/18217, Oct. 19, 2006, 4 pgs.
The Board of Trustees of the Leland Stanford Jr. University, IPRP, PCT/US04/30396, Apr. 19, 2007, 5 pgs.
The Board of Trustees of the Leland Stanford Jr. University, ISR/WO, PCT/US04/18217, Feb. 7, 2006, 6 pgs.
The Board of Trustees of the Leland Stanford Jr. University, ISR/WO, PCT/US04/30396, Aug. 24, 2006, 5 pgs.
The Board of Trustees of the Leland Stanford Jr. University, Supplemental EP Search Report, EP 04754739.3, dated Dec. 17, 2007 , 4 pgs.
Thearling, Visualizing Data Mining Models, 2001, 14 pgs.
Welling, Visualization of Large Multi-Dimensional Datasets, Aug. 11, 2000, 6 pgs.
Wilkinson, nViZn: An Algebra-Based Visualization System, Mar. 21-23, 2001, 7 pgs.
Wilkinson, Graph-Theoretic Scagnostics, Proceedings of the IEEE Information Visualization, 2005, 8 pgs.
Wilkinson, Statistics and Computing-The Grammar of Graphicsm, New York, 19999, 418 pgs.
Related Publications (1)
Number Date Country
20230280877 A1 Sep 2023 US
Continuations (5)
Number Date Country
Parent 15632253 Jun 2017 US
Child 18114980 US
Parent 15436706 Feb 2017 US
Child 15632253 US
Parent 14549482 Nov 2014 US
Child 15436706 US
Parent 13352137 Jan 2012 US
Child 14549482 US
Parent 11223658 Sep 2005 US
Child 13352137 US