USERELATIONSHIP Function for Dynamic Database Relationship Specification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-dimensional data analysis applications require users to be proficient in complex semantic languages, making it difficult for untrained business employees to analyze data effectively, as they need to specify relationships within queries, leading to ambiguity and complexity in handling multiple relationships between tables.

Innovation Solution

The introduction of the USERELATIONSHIP function in the DAX language allows users to specify relationships independently of queries, enabling dynamic and concurrent evaluation of relationships within calculation formulas, thereby simplifying the selection of relationships and resolving ambiguity by overriding default database settings for the duration of a specific calculation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users specify relationships within queries using complex semantic languages, then relationship selection capability is improved, but user operation complexity and difficulty increase

Engineering Contradiction:
Improverelationship selection capabilityVSAvoiduser operation difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent separates relationship specification from query execution by introducing a dedicated USERELATIONSHIP function. This segmentation allows users to define relationships independently in a calculation formula, which is then reused across multiple queries. The relationship specification is divided into distinct components: the function name, table references, and column references, making each element manageable and understandable without requiring mastery of complex semantic languages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The USERELATIONSHIP function serves as an intermediary between the user's intent and the database's relationship resolution mechanism. Instead of directly embedding complex relationship logic within queries, users interact with this simplified function that handles the complexity internally. The function acts as a mediator that translates simple user specifications into the appropriate relationship paths for calculation evaluation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple relationships between tables are supported, then data analysis flexibility is improved, but ambiguity and complexity in relationship resolution increase

Engineering Contradiction:
Improvedata analysis flexibilityVSAvoidrelationship resolution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing different relationships to be specified for different calculation contexts within the same database schema. The USERELATIONSHIP function enables users to locally override default relationship behavior by specifying alternative relationships on a per-calculation basis. This means each calculation can have its own tailored relationship specification without affecting other calculations, resolving ambiguity locally rather than requiring global relationship redefinition.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The solution introduces dynamic relationship selection where the relationship used for a calculation can change based on the specific calculation formula's requirements. The USERELATIONSHIP function allows relationships to be dynamically specified at formula definition time rather than being static or automatically resolved. This dynamic approach enables the system to adapt to different analytical needs by selecting appropriate relationships contextually, reducing ambiguity through explicit user intent.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If relationship specification is embedded in queries, then query-specific relationship control is improved, but formula reusability and dynamic evaluation capability deteriorate

Engineering Contradiction:
Improvequery-specific controlVSAvoidformula reusability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by separating relationship specification from query execution. Users define the relationship logic in advance within the calculation formula using USERELATIONSHIP, before the formula is evaluated in any specific query context. This preliminary definition of relationships allows the same formula to be reused across multiple queries with different data sets and time periods, as the relationship structure is pre-established and does not need to be re-specified for each query execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10102243B2Specification of database table relationships for calculation
Publication Date: 2018.10.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10102243B2 patent drawing
  • US10102243B2 patent drawing
  • US10102243B2 patent drawing

AI summary

A relationship amongst multiple relationships between database tables can be specified independent of a query. More specifically, a function (USERELATIONSHIP) can be introduced to the DAX language (Data Analysis Expressions), which provides a way to author formulas that are not evaluated immediately, but that can be evaluated dynamically and concurrently in many different contexts. The function enables a single relationship to be specified in the calculation formula away from the query. This provides a mechanism within the formula that specifies specific relationship(s) that are to be followed when the dynamic expression is evaluated.