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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
Anonymous
Not applicable

How to find Latest and 2nd Latest Read of each month?

Hi,

Here is my data sample,

knguyen1996p_1-1598458287849.png

 


I want to create a table that looks like this

knguyen1996p_2-1598458309083.png

 

I was able to get the month and the Last Read, but was not able to get the 2nd last

 

 

Here is the DAX that I have used:

1)
Last date = MAX('Consumption (2)'[Adjusted Read Date])

2)

Previous Read =
CALCULATE(MAX('Consumption (2)'[Read]),
FILTER(
ALL('Consumption (2)'[Adjusted Read Date]),
'Consumption (2)'[Adjusted Read Date] < [Last date]))
 
Thank you.
2 REPLIES 2
Greg_Deckler
Community Champion
Community Champion

@Anonymous - Maybe:

Latest =
  VAR __LatestDate = MAXX('Table',[Date])
RETURN
  MAXX(FILTER('Table',[Date]=__LatestDate),[Read])

2nd Latest =
  VAR __LatestDate = MAXX('Table',[Date])
  VAR __2ndLatest = MAXX(FILTER('Table',[Date]<>__LatestDate),[Date])
RETURN
  MAXX(FILTER('Table',[Date]=__2ndLatest),[Read])

Basically variations of Lookup Min/Max - https://community.powerbi.com/t5/Quick-Measures-Gallery/Lookup-Min-Max/m-p/985814#M434



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...
amitchandak
Super User
Super User

@Anonymous , one way is to create  rank column on date inside moth and use that

 

For Rank Refer these links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/367415

 

or try these measures

last value = CALCULATE(lastnonblankvalue(Table[Date],max(Table[Read])),DATESMTD('Date'[Date]))


second last value =
var _max = CALCULATE(max(Table[Date]),DATESMTD('Date'[Date]))
return
CALCULATE(lastnonblankvalue(Table[Date],max(Table[Read])),DATESMTD('Date'[Date]), filter(Date, Date[Date]<_max))

or
second last value =
var _max = CALCULATE(max(Table[Date]),DATESMTD('Date'[Date]))
return
CALCULATE(lastnonblankvalue(Table[Date],max(Table[Read])),DATESMTD('Date'[Date]), filter(Table, Table[Date]<_max))

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

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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