USERELATIONSHIP Function for Dynamic Database Relationship Specification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If multiple relationships between tables are supported, then data analysis flexibility is improved, but ambiguity and complexity in relationship resolution increase
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.
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.
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
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.
Data Source
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.


