Data Visualization Engine for Complex Relationship Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data visualization tools struggle to effectively visualize complex data relationships, especially as data volumes increase, often requiring manual construction and lacking support for presenting intricate relationships like manager structures, social networks, or product categories.
Innovation Solution
A data visualization engine that retrieves and displays data fields and relationships using connectors or visual cues, allowing users to encode relationships in mark positions, connector properties, and aggregation, enabling quick and easy creation of data visualizations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data visualization tools manually construct visualizations, then they can present complex data relationships, but the process becomes difficult and time consuming
Solution Approach 1:
The system automatically generates data visualizations by retrieving data from databases and relationships between data fields without requiring manual construction. The data visualization engine autonomously processes data, determines relationships, and creates appropriate visual representations, allowing the system to serve itself rather than requiring user intervention for each visualization task.
Solution Approach 2:
The system pre-retrieves and stores data relationships between data fields in a structured format, preparing the foundation for rapid visualization generation. By having relationships pre-established and stored, the system can quickly generate visualizations when needed without performing complex relationship analysis at visualization time.
2Adaptability or versatility
If data visualization tools support relationships, then they can present complex data structures, but they struggle as data volumes increase
Solution Approach 1:
The system segments the visualization process into distinct components: data retrieval, relationship identification, aggregation level determination, and visualization generation. By breaking down the complex task of visualizing large datasets with relationships into manageable segments, the system can handle each aspect independently and efficiently, reducing overall complexity.
Solution Approach 2:
The system introduces an intermediary aggregation level between raw data and final visualization. By allowing users to specify an aggregation level, the system can summarize and condense large volumes of data before visualization, reducing the complexity of relationships that need to be displayed while preserving the essential structure and insights.
3Loss of information
If data visualizations display all relationships, then they provide complete information, but they become difficult to understand as data increases
Solution Approach 1:
The aggregation level specification acts as an intermediary mechanism that balances information completeness with understandability. By allowing users to define aggregation levels, the system can control the granularity of displayed relationships, filtering out excessive detail while preserving the essential structural information needed for understanding data relationships.
Data Source
AI summary
A method filters data in data visualizations. The method retrieves a set of tuples from a database according to user selection. Each tuple includes a same set of fields. The method identifies a relation between tuples. The relation is a non-empty set of ordered pairs of tuples from the set of tuples. The method receives selection of one or more filter conditions for the tuples, where at least one of the filter conditions uses the relation. The method receives selection of an aggregation level, which includes one or more fields from the set of tuples. The method then displays a data visualization based on aggregating the set of tuples at the selected aggregation level to form a set of aggregated tuples, and displays each aggregated tuple as a visible mark. Each tuple that satisfies all of the filter conditions is included in an aggregated tuple; all other tuples are excluded.


