Hierarchical Data Correlation in Reporting Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current reporting systems face challenges in handling hierarchical datasets, as they can only support tabular rowsets, leading to inefficiencies when dealing with data from multiple sources, especially when the data provider does not support joins or when data needs to be re-segmented within the report.

Innovation Solution

The solution allows report authors to configure data-bound objects to use data from specific query results, enabling explicit or implicit correlations between ancestor and descendant objects, facilitating declarative binding and access to data for calculations, thereby overcoming the limitations of existing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is joined into a single query to display related data from multiple sources, then data correlation is achieved, but the data provider must support joins which limits system compatibility

Engineering Contradiction:
Improvedata correlationVSAvoidsystem compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data correlation process into two independent parts: (1) data retrieval from separate sources using independent queries, and (2) client-side joining of results using correlation expressions. This allows each data source to remain independent without requiring join support, while still achieving correlated results in the report.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary correlation mechanism at the report processing level that bridges multiple independent data sources. The correlation expression acts as a mediator that joins previously retrieved datasets without requiring the underlying data providers to support native joins.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If all data is joined together in the query, then complete dataset is obtained, but re-segmentation within the report becomes impractical and inefficient

Engineering Contradiction:
Improvecomplete datasetVSAvoidre-segmentation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent retrieves data in segmented portions from different sources using separate queries, then applies client-side joining to combine only the necessary correlated records. This segmented approach maintains complete data availability while enabling efficient re-segmentation and filtering at the report level without processing entire joined datasets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent retrieves slightly more data than immediately needed from each source, then uses correlation expressions and filters to select only the required subset. This avoids the inefficiency of joining all possible data while ensuring complete relevant data is captured for report segmentation.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If hierarchical data is flattened to support tabular rowsets, then compatibility with reporting systems is achieved, but data structure integrity is compromised requiring multiple queries and complex filtering

Engineering Contradiction:
Improvereporting system compatibilityVSAvoiddata processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent resolves the hierarchical-to-tabular transformation issue by adding a new dimension of correlation expressions that operate on the tabular data. Instead of losing hierarchical relationships during flattening, the system restores logical hierarchy through client-side correlation rules that link parent-child records across separate query results.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent introduces correlation expressions as an intermediary layer between the flattened tabular data and the logical hierarchical structure. This mediator reconstructs hierarchical relationships without requiring the underlying data to remain in hierarchical format, maintaining both reporting system compatibility and data structure integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Shape

If multiple queries are executed in subreports to re-correlate data, then hierarchical data can be displayed, but report execution time increases

Engineering Contradiction:
Improvehierarchical data displayVSAvoidreport execution time
Core Design Contradiction:
ShapeVSLoss of time

Solution Approach 1:

The patent performs preliminary data retrieval from all sources using independent queries before the report rendering process begins. By pre-fetching all necessary data and establishing correlation relationships in advance, the system avoids time-consuming data retrieval and joining operations during subreport execution, significantly reducing overall report execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple independent query results into a single correlated dataset at the report level using correlation expressions. This unified approach eliminates the need for separate subreport executions and data re-correlation operations, consolidating what would be multiple time-consuming queries into a single efficient processing step.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8359308B2Inline data correlation and hierarchical datasets
Publication Date: 2013.01.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8359308B2 patent drawing
  • US8359308B2 patent drawing
  • US8359308B2 patent drawing

AI summary

Architecture which provides that certain data-bound objects in the report can be configured by the report author to use data from a specific query result rather than take data from the containing data bound object. The report author defines a relationship between the data in the contained object and the data in the container, allowing instances of the descendant object to be correlated with instances of the ancestor object. This relationship can be either explicit with join conditions or implicit due to an intrinsic hierarchical relationship between the query results.