Relationship Configurations: Save & Switch Between Multiple Relationship Sets for the Same Dataset
The Problem: The "One Active Relationship" Constraint Currently, Power BI enforces a strict rule: only one relationship can be active between two tables at a once. In complex models (like Fleet Management, HR, or Finance), we often have multiple dates for a single transaction (e.g., Order Date, Ship Date, Delivery Date, and Payment Date).
To report on these, we are currently forced to:
Duplicate Dimensions: Create "Role-Playing Dimensions," which bloats the model size and confuses end-users.
DAX Measure Bloat: Use USERELATIONSHIP to manually activate a path. If I have 10 core metrics and 4 date paths, I have to write 40 measures. This is a maintenance nightmare and makes the field list impossible to navigate.
The Proposal: Relationship Profiles I propose a new feature called "Relationship Profiles." Within the Model View, a developer could define and name a "Profile" that specifies which relationships are active for that specific context.
How it would work:
In the Model View: A new manager to save "Relationship Sets."
In the Report View: At the Visual, Page, or Report level, a new property in the Format Pane would allow us to select a "Relationship Profile."
The Engine's Logic: When a profile is selected, the engine treats those specific relationships as the "Active" paths for all calculations within that visual’s scope.
Real-World Application (Fleet Management): Imagine a Fleet manager wanting to see "Total Expenses." One chart needs to show expenses by Service Date, another by Payment Date, and a third by Disposal Date. Instead of 3 different DAX measures, they would use one single measure and simply toggle the "Relationship Profile" for each visual.
The Current "Pain Point" (DAX Example)
"
Total_Expenses_by_Service_Date =
// Purpose: Forces the engine to use the 'Service Date' relationship instead of the default 'Transaction Date'.
// Logic: I'm using CALCULATE to override the default active relationship.
// The USERELATIONSHIP function is explicitly telling the engine which path to take between the Fleet table and the Calendar table.
CALCULATE(
SUM( 'Fleet_Expenses'[Amount] ),
USERELATIONSHIP( 'Fleet_Expenses'[Service_Date], 'Date_Table'[Date] )
)
"
This is the repetitive code we have to write today for every single metric in our model. My proposal would make this redundant!
The Value to Microsoft and the Community:
Model Efficiency: Drastically reduces the number of measures required in a model.
Simplified UX: Clean field lists make it easier for "Citizen Developers" to build reports.
Performance: Potentially allows the engine to optimize paths based on predefined profiles rather than dynamic DAX overrides.
What do you guys think? Is it time to move past the "one active relationship" limitation?
Recent ideas
Power Query Parameter create/use when connecting to a dataflow
In power query when you connect to a table in a dataflow there are no options to create or use a parameter for that dataflow. When connecting to SQL there is an option when setting up the connection ...ben_holmes8 minutes agoNew MemberNeed Clarification202Views3likes2CommentsMake Copilot Approval status for semantic model available through API
In recent versions fabric allowed to mark a semantic model as approved for copilot to reduce AI adoption friction. However there is no specific way for external governance application to analyse whi...FrançoisD21 minutes agoFrequent VisitorNew1View0likes0CommentsClone a workspace, including its data, to a new workspace
Description: Today there's no way to fully clone a Fabric workspace: git sync and Deployment Pipelines move item definitions only, not the underlying data; Warehouse's zero-copy CREATE TABLE ... AS ...gclements1 hour agoHelper IINew6Views1like0CommentsAllow NotebookUtils getSecret() to authenticate with Workspace Identity
Current behavior In Microsoft Fabric, notebookutils.credentials.getSecret() authenticates against Azure Key Vault using the identity of the user who executes the notebook. This behavior appli...tmihara6 hours agoNew MemberNew7Views0likes0CommentsSupport Synonyms in Fabric Warehouse
Microsoft SQL Server has a very powerful feature by the way of "synonyms." It allows users and DBAs to do all sorts of powerful magic such as rewiring objects under the hood (e.g. run the code agains...matthias-bi10 hours agoRegular VisitorNew1.3KViews18likes2Comments