Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
CorDen
Regular Visitor

Drillthrough to page using an inactive relationship

Hello everyone,

 

I am trying to create a Power BI Desktop report that conveniently shows workitems from our Azure DevOps board. I only want to show workitems that are either Epics, Features or User Stories. Because each Epic can have multiple child Features and each Feature can in turn have multiple child User Stories, I also want to show which workitems are related so we can track the progression of completed child woritem per parent workitem. 

 

In order to visualize this, I extract the WorkItems table from our ADO environment using ODATA. I made sure that the ODATA query only returns the WorkItems that are relevant for me and my team. For now I would like my report to show two things:

  1. A general overview of all workitems that shows information like amount of workitems per workitemtype (e.g. Epic, Feature or User Story), the name of the employee it's assigned to and the state(category) of the workitem (e.g. new, in progress or completed). 
  2. A more detailed tabular page that shows which workitems are related to eachother and how many child workitems have been completed. 

 

I have already created two pages: Overview and WorkItems. In order to show which workitems are related to eachother based on ParentWorkItemId on the WorkItems page, I created 3 additional tables: Epics, Features and Stories. Screenshots of the pages and datamodel are included below. I would like to be able to let users of the report make a selection on the Overview page and drill through to the WorkItems page to show the selected workitems and their related parent/child workitems based on the selected workitem type (Epic/Feature/User Story). However, when I try to do this I encounter a problem because the WorkItems table can only have a single active relationship with either the Epics, Features or Stories table at a time.

 

Now I figured that using DAX functions like USERELATIONSHIP or RELATED might solve my problem, but I haven't been able to make it work yet. I thought about creating 3 seperate pages (1 for each workitem type) in combination with duplicating each of the workitem tables and creating a single active relationship, but that doesn't seem like an ideal solution.

 

I am wondering if there is a way to drill through to a page, but take into account the selected workitem type and show results on the WorkItems page by activating one of the inactive relationships (to the Epics table when workitemtype = Epic, to the Features table when workitemtype = Feature etc.). I have included screenshots of a sample report, the relationship view and the desired results below. Any and all advice is welcome. Thank you in advance.

 

With kind regards,

 

CorDen.

 

Overview page

CorDen_5-1700572438171.png

 

 

WorkItems page

CorDen_3-1700570128798.png

 

Model view

CorDen_4-1700571912868.png

 

Example of desired result: use Epic relationship

CorDen_6-1700573796514.png

CorDen_8-1700573908404.png

CorDen_7-1700573816009.png

 

Example of desired result: use Feature relationship

CorDen_10-1700573970846.png
CorDen_9-1700573960703.png

CorDen_11-1700573984051.png

 

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@CorDen , In this case, userelationship will not work. You have inactive join because of multiple path

You can keep "workitem" independent/disconnected table

How to filter the slicer of a disconnected table: https://youtu.be/cV5WfaQt6C8

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@CorDen , In this case, userelationship will not work. You have inactive join because of multiple path

You can keep "workitem" independent/disconnected table

How to filter the slicer of a disconnected table: https://youtu.be/cV5WfaQt6C8

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

Hi @amitchandak, thanks a lot for your response and suggested solution. I managed to get the desired result by making the following DAX formula, applying it to the table visuals and filtering on isnotblank:

 

Control Downdrill =
VAR _tab = SUMMARIZE(ALLSELECTED(WorkItems), WorkItems[WorkItemId])
RETURN
COUNTROWS(
    FILTER(
        UNION(
            VALUES(Epics[WorkItemId]),
            VALUES(Features[WorkItemId]),
            VALUES(Stories[WorkItemId])
        ),
        [WorkItemId] in _tab
    )
)
 
Thanks again!

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.