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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
zoubeyrB
Frequent Visitor

DAX and external filters

Hello,

I have a small dataset (for training) using the following data model :

model.png

 

 

 

 

 

 

 

 

 

 

I would like to calculate the percentage of sales (quantity) for any country / city related to global sales for Germany. So I used the following expression : 

measure15 =
var currentSales = sum(sales[quantity])
var salesGermany = CALCULATE(SUM(sales[quantity]),ALLSELECTED(clients[city]),clients[country] = "Germany")
return
divide(currentSales,salesGermany)

The measure works properly as long as the field clients[city] isn't filtered :

 

case1 :

case1.png

 

 

 

 

 

 

 

 

 

case2 :

case2.png

 

 

 

 

 

 

 

 

 

case 3:

cas3.png

 

 

 

 

 

 

 

 

 

I find th 3rd result a bit puzzling, could you kindly provide an explanation (why the part salesGermany is blank) ?

Thanks in advance,



1 ACCEPTED SOLUTION
Selva-Salimi
Super User
Super User

Hi @zoubeyrB 

 

I think that you should use all instead of allselected.

 

If this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly. 

View solution in original post

4 REPLIES 4
zoubeyrB
Frequent Visitor

Hello,

I tried replacing ALLSELECTED with ALL, which led to the following result (measure 14) :
case4.png

 

 

 

 

 

 

 

 

 

 

 

 

The issue of countries other than Germany disappearing is fixed. However, measure14 calculates the ratio between sales for a given country/city combination and sales for Germany unfiltered on city. That's why if we remove Hamburg we get 69.4 % for Germany (instead of 100%).

The following expression seems to be working :

measure14 = 

var sales_ = sum(sales[quantity])
var salesGermany = CALCULATE(SUM(sales[quantity]), FILTER(ALLSELECTED(clients[city],clients[country]),clients[country] = "Germany")                               ) return divide(sales_,salesGermany)

case4.png
Selva-Salimi
Super User
Super User

Hi @zoubeyrB 

 

I think that you should use all instead of allselected.

 

If this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly. 

Hello,

It does make sense to use ALL instead of ALLSELECT (since the reference is all sales for Germany). I was just trying to make it work for training purposes.

Thanks for your help,

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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