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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
zzakir
Helper II
Helper II

Need a Dax to return % of top product

Hello,

I am putting together some dynamic text and need a Dax that will return the % that the top supplier makes up of total.

In the example below, I would want DAX to return 50%.

 

I need to show is 50% i.e. (25+25)/100 in the example below since supplier D is the highest of them all.
SupplierAmount
A20
B15
C15
D25
D25
  
Total100

 

I do have following measure in my report if that helps:

Actual Amount = ROUND(SUM('Transactions'[Amount]),2)

2 ACCEPTED SOLUTIONS

You can create a measure with below code 

 

Measure = 
var total_sum = CALCULATE(SUM(Supplier_data[Amount]),ALL(Supplier_data))
var getting_max =  MAXX(SUMMARIZE(ALL(Supplier_data),Supplier_data[Supplier],Supplier_data[Amount],"Max_Value",SUM(Supplier_data[Amount])/total_sum),[Max_Value])
return FORMAT(getting_max,"0%")

 

Samarth_18_0-1626448357324.png

 

Best Regards,
Samarth

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
Connect on Linkedin

View solution in original post

This was helpful. I had to tweak the formula a little. Here was the final formula: 

 

% of highest Supplier = 
var total_supplier = CALCULATE([Actual Amount],'Find Suppliers - Addl Info'[Supplier]<>BLANK())
var getting_max =  MAXX(SUMMARIZE(FILTER('Fact Table','Fact Table'[Supplier ID]<>BLANK()),'Find Suppliers - Addl Info'[Supplier],"Max_Value",SUM('Fact Table'[GL Amount])/total_supplier),[Max_Value])
return 

FORMAT(getting_max,"0.0%")

 

 

View solution in original post

6 REPLIES 6
Samarth_18
Community Champion
Community Champion

Hi @zzakir ,

 

If i am taking it correctly you just need a highest % of total. You can take a Max of "% of total column" column.

 

Measure = MAX(Supplier_data[% of Total])

 

Samarth_18_0-1626444979788.png

Please let me know if this is the output you looking.

Best Regards,
Samarth

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
Connect on Linkedin

@Samarth_18 I have editted my original question to be clearer.

I do not have % column.

You can create a measure with below code 

 

Measure = 
var total_sum = CALCULATE(SUM(Supplier_data[Amount]),ALL(Supplier_data))
var getting_max =  MAXX(SUMMARIZE(ALL(Supplier_data),Supplier_data[Supplier],Supplier_data[Amount],"Max_Value",SUM(Supplier_data[Amount])/total_sum),[Max_Value])
return FORMAT(getting_max,"0%")

 

Samarth_18_0-1626448357324.png

 

Best Regards,
Samarth

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
Connect on Linkedin

This was helpful. I had to tweak the formula a little. Here was the final formula: 

 

% of highest Supplier = 
var total_supplier = CALCULATE([Actual Amount],'Find Suppliers - Addl Info'[Supplier]<>BLANK())
var getting_max =  MAXX(SUMMARIZE(FILTER('Fact Table','Fact Table'[Supplier ID]<>BLANK()),'Find Suppliers - Addl Info'[Supplier],"Max_Value",SUM('Fact Table'[GL Amount])/total_supplier),[Max_Value])
return 

FORMAT(getting_max,"0.0%")

 

 

timg
Solution Sage
Solution Sage

Hi zzakir,

 

Is this the result you're looking for? It takes the % value of the top 1 supplier based on the [% of total] column.

 

TESTMEASURE = CALCULATE(SELECTEDVALUE(Test[% of Total]), TOPN(1,ALL(Test), Test[% of Total],DESC))

1.PNG

 

Best regards,

 

Tim





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

Proud to be a Super User!




Hello @timg,
This is close to what I want. Perhaps I should've asked my original question differently:

I have a transaction table below.

 

I need to show is 50% i.e. (25+25)/100 in the example below in a card like you had 67% above.
SupplierAmount
A20
B15
C15
D25
D25
  
Total100

 

I do have following measure in my report if that helps:

Actual Amount = ROUND(SUM('Transactions'[Amount]),2)

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!

December 2024

A Year in Review - December 2024

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