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

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! 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
September Power BI Update Carousel

Power BI Monthly Update - September 2025

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

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.