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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Smritide
Regular Visitor

Using FILTER with SUMX & DISTINCT

Hi

 

I have two tables -

 

1) A student information table (Master Table) stating if they were admitted or denied for a course. For those admitted, I have a column calculating revenue earned from that student (for denied students it return $0). The table also indicates name of the event students attended and learned about the course.

 

2) An events table (Event Category) with names of each event and cost associated with the event. 

 

I want to calculate ROI for each event. I used the following formula.

 

ROI = DIVIDE([Returns],SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost]),0)

 

Where,

Returns = SUMX(DISTINCT(Master[Revenue]),Master[Revenue])-SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost])

 

I used the sumx and distinct function as I wanted to sum each row for admitted students returning cost against specific events. e.g. if you consider the following scenario, I want sum of cost associated with Event A, Event B and Event C where Event A's cost is calculated only once. 

 

Student A Admitted Event A 

Student B Admitted Event B

Student C Denied    Event A

Student D Admitted Event C

 

The SUMX and DISTINCT function does that for me, however I want to put a filter in the formula so that the measure calculates the returns only for Admitted students.

 

Can you help me figure this out? I tried using FILTER but it does not work. 

1 ACCEPTED SOLUTION

Hey,

 

I just figured it out.

 

CALCULATE(SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost]),FILTER(Master,Master[Decision Name]="Admitted")

 

The problem was that there is a cost associated against each denied item as well so the previous function returned a sum off all positives and negative returns wherein I only wanted positive returns.

 

 

View solution in original post

5 REPLIES 5
Greg_Deckler
Community Champion
Community Champion

I guess the first question I would have is "why"? If denied students are $0 then including them in a SUM would not affect the result.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Hey,

 

I just figured it out.

 

CALCULATE(SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost]),FILTER(Master,Master[Decision Name]="Admitted")

 

The problem was that there is a cost associated against each denied item as well so the previous function returned a sum off all positives and negative returns wherein I only wanted positive returns.

 

 

Hi @Smritide,

Congratulations, you resolved the problem by yourself, please mark the solution as workaround, so that more people will benefit from here.

Best Regards,
Angelia

Smritide
Regular Visitor

Hi

 

I have two tables -

 

1) A student information table (Master Table) stating if they were admitted or denied for a course. For those admitted, I have a column calculating revenue earned from that student (for denied students it return $0). The table also indicates name of the event students attended and learned about the course.

 

2) An events table (Event Category) with names of each event and cost associated with the event. 

 

I want to calculate ROI for each event. I used the following formula.

 

ROI = DIVIDE([Returns],SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost]),0)

 

Where,

Returns = SUMX(DISTINCT(Master[Revenue]),Master[Revenue])-SUMX(DISTINCT('Event Details'[Event Category (City)]),Master[Avg Cost])

 

I used the sumx and distinct function as I wanted to sum each row for admitted students returning cost against specific events. e.g. if you consider the following scenario, I want sum of cost associated with Event A, Event B and Event C where Event A's cost is calculated only once. 

 

Student A Admitted Event A 

Student B Admitted Event B

Student C Denied    Event A

Student D Admitted Event C

 

The SUMX and DISTINCT function does that for me, however I want to put a filter in the formula so that the measure calculates the returns only for Admitted students.

 

Can you help me figure this out? I tried using FILTER but it does not work. 

Hi @Smritide,

Trt to put your sumx inside a CALCULATE something like this:

CALCULATE(SUMX(DISTINCT(Master[Revenue]),Master[Revenue]), Master[Admmited] ="admitted")

Regards,
MFelix


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.