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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
luckygirl
Helper I
Helper I

DAX function to get previous row value grouped by another column

Hi,

 

I have a table like below.

 

ClientCodeCompletedDateProductDetail
11/01/2018A
11/04/2019B
123/05/2021C
26/05/2022D
29/02/2018A
35/05/2019C

I want to get the previous value of the "ProductDetail" column ordered by the "CompletedDate" and grouped by "Code". So the expected output is below.

 

ClientCodeCompletedDateProductDetailPreviousProductDetail
11/01/2018ANo
11/04/2019BA
123/05/2021CB
29/02/2018ANo
26/05/2022DA
35/05/2019CNo

 

I am a beginner to dax and can't figure out the method. Thanks for the support.

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

@luckygirl Try this:

Previous Product Detail Column =
  VAR __Code = [ClientCode]
  VAR __Date = [CompletedDate]
  VAR __Table = FILTER( ALL( 'Table' ), [ClientCode] = __Code && [CompletedDate] < __Date )
  VAR __PrevDate = MAXX( __Table, [CompletedDate] )
  VAR __Result = MAXX( FILTER( __Table, [CompletedDate] = __PrevDate ), [ProductDetail] )
RETURN
  __Result



or

Previous Product Detail Measure =
  VAR __Code = MAX( 'Table'[ClientCode] )
  VAR __Date = MAX( 'Table'[CompletedDate] )
  VAR __Table = FILTER( ALL( 'Table' ), [ClientCode] = __Code && [CompletedDate] < __Date )
  VAR __PrevDate = MAXX( __Table, [CompletedDate] )
  VAR __Result = MAXX( FILTER( __Table, [CompletedDate] = __PrevDate ), [ProductDetail] )
RETURN
  __Result

 

See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
The basic pattern is:
Column = 
  VAR __Current = [Value]
  VAR __PreviousDate = MAXX(FILTER('Table','Table'[Date] < EARLIER('Table'[Date])),[Date])

  VAR __Previous = MAXX(FILTER('Table',[Date]=__PreviousDate),[Value])
RETURN
 ( __Current - __Previous ) * 1.



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!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
luckygirl
Helper I
Helper I

@Greg_Deckler Thank you so much!

Greg_Deckler
Super User
Super User

@luckygirl Try this:

Previous Product Detail Column =
  VAR __Code = [ClientCode]
  VAR __Date = [CompletedDate]
  VAR __Table = FILTER( ALL( 'Table' ), [ClientCode] = __Code && [CompletedDate] < __Date )
  VAR __PrevDate = MAXX( __Table, [CompletedDate] )
  VAR __Result = MAXX( FILTER( __Table, [CompletedDate] = __PrevDate ), [ProductDetail] )
RETURN
  __Result



or

Previous Product Detail Measure =
  VAR __Code = MAX( 'Table'[ClientCode] )
  VAR __Date = MAX( 'Table'[CompletedDate] )
  VAR __Table = FILTER( ALL( 'Table' ), [ClientCode] = __Code && [CompletedDate] < __Date )
  VAR __PrevDate = MAXX( __Table, [CompletedDate] )
  VAR __Result = MAXX( FILTER( __Table, [CompletedDate] = __PrevDate ), [ProductDetail] )
RETURN
  __Result

 

See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
The basic pattern is:
Column = 
  VAR __Current = [Value]
  VAR __PreviousDate = MAXX(FILTER('Table','Table'[Date] < EARLIER('Table'[Date])),[Date])

  VAR __Previous = MAXX(FILTER('Table',[Date]=__PreviousDate),[Value])
RETURN
 ( __Current - __Previous ) * 1.



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!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
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.

May 2025 Monthly Update

Fabric Community Update - May 2025

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