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
Ethanhunt123
Helper IV
Helper IV

Highest sales recorded against the average

I have a table that has Order, date, Sales

 

Order # Date Sales
Order #1 20 Aug 2019 100
Order #2 20 Aug 2019 200
Order #3 19 Aug 2019 100
Order #4 19 Aug 2019 100
Order #5 19 Aug 2019 200
Order #6 18 Aug 2019 200

 

First I have to find the average sales per day . So for 20 AUG 2019 average would be 150, 19 AUG 2019  = 133 and for 18 AUG average would be 200.

Then I have to find highest sales against the average 

20 AUG 2019 ( 200 - 150) = 50

19 AUG 2019 (200 - 133) = 67

18 AUG 2019 ( 200- 200)  = 0 

 

So the output would be 19 AUG 2019. Many dates can have 67 so I want all those dates as output.

1 ACCEPTED SOLUTION

Hi @Ethanhunt123 ,

 

Create these measures

 

 

 

Average Sale = 
AVERAGE('Table'[Sales])

 

 

 

 

 

MAXX Sale = MAXX(FILTER(ALL('Table'),'Table'[Date] = MAX('Table'[Date])),'Table'[Sales])

 

 

 

 

 

Highest Sale against Average = [MAXX Sale] - [Average Sale]

 

 

 

 

Rank Highest Sales = RANKX(ALL('Table'[Date]), [Highest Sale against Average])

 

 

 

 

1.jpg

 

1.jpg

 

Create a Visual Filter where Rank =1

 

 

Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

 

View solution in original post

4 REPLIES 4
ryan_mayu
Super User
Super User

@Ethanhunt123 

you can try to create a new table to return the date value.

Table 2 = 
VAR tbl=SUMMARIZE('Table','Table'[Date],"diff",max('Table'[Sales])-AVERAGE('Table'[Sales]))
VAR tbl2=ADDCOLUMNS(tbl,"rank",RANKX(tbl,[diff],,DESC))
return SELECTCOLUMNS(FILTER(tbl2,[rank]=1),"date",'Table'[Date])

1.PNG





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

Proud to be a Super User!




amitchandak
Super User
Super User

@Ethanhunt123 , Plot this measure with date

countx(filter(summarize(Table,table[Date], "_1", Rankx(all(Table), calculate( max(Table[Sales]) - avergage(Table[Sales])),,desn,skip)),[_1]=1),[Date])

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Hi @Ethanhunt123 ,

 

Create these measures

 

 

 

Average Sale = 
AVERAGE('Table'[Sales])

 

 

 

 

 

MAXX Sale = MAXX(FILTER(ALL('Table'),'Table'[Date] = MAX('Table'[Date])),'Table'[Sales])

 

 

 

 

 

Highest Sale against Average = [MAXX Sale] - [Average Sale]

 

 

 

 

Rank Highest Sales = RANKX(ALL('Table'[Date]), [Highest Sale against Average])

 

 

 

 

1.jpg

 

1.jpg

 

Create a Visual Filter where Rank =1

 

 

Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

 

This is giving me 1 for all the dates.

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!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 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.