Data Visualization Object Model for Multi-Table Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Generating data visualizations that combine data from multiple tables is challenging, especially when there are multiple fact tables, as it often results in unclear or incorrect visualizations due to omitted data rows and overstated totals, which can be problematic for end users who are not aware of the issues.

Innovation Solution

Constructing an object model of the data before generating visualizations, which allows storing relationships and leveraging this information to assist users in building accurate data visualizations by identifying minimal subtrees, forming queries, and aggregating data values accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data visualizations combine data from multiple tables without an object model, then data integration capability is improved, but data accuracy deteriorates due to omitted rows and overstated totals

Engineering Contradiction:
Improvedata integration capabilityVSAvoiddata accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by constructing an object model of the data schema before generating visualizations. This pre-established model captures relationships between tables, dimensions, and measures, enabling the system to later generate accurate queries that properly join multiple tables without omitting rows or duplicating data. The object model is built in advance to guide the query generation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The object model serves as an intermediary between the user's visualization requests and the underlying database tables. It acts as a mediator that translates high-level visualization specifications into accurate SQL queries, ensuring proper joining of tables and correct aggregation of measures while preventing data accuracy issues that would arise from direct table querying.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If users directly select fields from multiple data sources, then ease of operation is improved, but visualization reliability deteriorates due to unclear data relationships

Engineering Contradiction:
Improveuser field selectionVSAvoidvisualization reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The object model acts as an intermediary layer between user field selections and the actual data sources. It captures the semantic relationships between fields from different tables, allowing users to freely select fields while the system automatically ensures reliable visualization generation by using the object model to guide proper data joining and aggregation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses the object model to provide feedback about data relationships and compatibility when users select fields. This feedback mechanism helps users make informed selections while ensuring that the resulting visualization will be reliable, as the object model validates that proper joins and aggregations can be generated from the selected fields.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If complex queries are generated to handle multiple fact tables, then data completeness is improved, but query complexity increases leading to performance degradation

Engineering Contradiction:
Improvedata completenessVSAvoidquery complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The object model is constructed in advance to capture the schema structure, relationships, and join paths between tables. This preliminary structuring allows the query generation process to efficiently assemble complete queries without excessive complexity, as the join paths and relationships are already predetermined in the object model rather than being computed on-the-fly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The query generation process is segmented into distinct steps: identifying required tables from the object model, determining necessary joins based on relationship paths, selecting appropriate aggregation operations for measures, and assembling the final query. This segmentation reduces overall query complexity by breaking down the complex task of handling multiple fact tables into manageable, systematic steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11966568B2Generating data visualizations according to an object model of selected data sources
Publication Date: 2024.04.23 TABLEAU SOFTWARE INC
  • US11966568B2 patent drawing
  • US11966568B2 patent drawing
  • US11966568B2 patent drawing

AI summary

The method receives a visual specification, which specifies a data source, visual variables, and data fields from the data source. Each visual variable is associated with data fields and each data field is either a dimension or a measure. From an object model of the data source, the method identifies a minimal subtree that includes all of the dimension data fields and constructs a query from the minimal subtree. The method executes the query against the data source to retrieve a set of tuples, each tuple comprising a unique ordered combination of data values for the dimension data fields. For each tuple, the method forms an extended tuple by appending aggregated data values corresponding to each measure data field. The method then builds and displays a data visualization according to the data fields in the extended tuples and according to the visual variables to which the data fields are associated.