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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
jjfr
Frequent Visitor

Dynamic DAX Measure to Count Distinct Rows filtered by separate query

Hi All,

I'm pretty new to DAX and struggling to figure this out so any help is greatly appreciated.

I have the following data model (simplified):

 

jjfr_0-1722844540224.png

 

I am trying to write a measure that runs a distinct count on the number of students ('Enrolment'[Student ID]) that have attended an appointment ('Appointments'[Attendance Status]=2). I then want to be able to slice on this measure by date, dimensions etc.

 

The following is currently giving me the correct total over all my data:

 

# Appointment Attendees (Distinct Students) = 
CALCULATE ( DISTINCTCOUNT('Enrolment'[Student ID]), 
FILTER(ALL('Appointments'), 'Appointments'[Attendance Status] = 2)

 

However I have a number of other slicers in my report, drawing on values from fact and dim tables. These slicers are not working with the measure in the report , it only displays the original value.

Is there a way to re-write the measure so it still works dynamically with slicers?

Thanks in advance for your help.

1 ACCEPTED SOLUTION
Dangar332
Super User
Super User

Hi, @jjfr You use ALL('Appointments') it kill effect of outer filter from same table(Appointments) and related expanded table.

Try below measure

 

# Appointment Attendees (Distinct Students) = 
CALCULATE ( DISTINCTCOUNT('Enrolment'[Student ID]), 
FILTER(ALL('Appointments'[Attendance Status]), 'Appointments'[Attendance Status] = 2)

 

 

Best regards,
Dangar 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
Dangar332
Super User
Super User

Hi, @jjfr You use ALL('Appointments') it kill effect of outer filter from same table(Appointments) and related expanded table.

Try below measure

 

# Appointment Attendees (Distinct Students) = 
CALCULATE ( DISTINCTCOUNT('Enrolment'[Student ID]), 
FILTER(ALL('Appointments'[Attendance Status]), 'Appointments'[Attendance Status] = 2)

 

 

Best regards,
Dangar 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

Brilliant thanks so much for that @Dangar332! Works perfectly

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.