cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
rajivraina Regular Visitor
Regular Visitor

Need Help: Show second to last value

Hi all,

 

I was hoping someone could help me figure out a way to show the second to last value for a certain field. 

 

For example, I have country credit ratings which are a text field (D through AAA+) that can change at irregular intervals (so not monthly or yearly). 

 

I have a table that shows the latest rating for countries that have had it changed in the past 3 months: capture3.PNG

Now I want to get another column in this table that shows the what the previous rating was, thus my need to find the 2nd to last value.

 

All the columns in the table are normal raw data columns (no measures). 

 

Anyone know how I can do this?

 

Thanks,

Raj

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
AkhilAshok Established Member
Established Member

Re: Need Help: Show second to last value

You could probably create a Calculated column like this:

 

Previous Rating = 
VAR CurrentDate = 'Table'[Date]
VAR CurrentCountry = 'Table'[Country]
VAR AllPreviousRatingsTable =
    FILTER (
        'Table',
        'Table'[Country] = CurrentCountry
            && 'Table'[Date] < CurrentDate
    )
VAR PreviousRatingTable =
    TOPN ( 1, AllPreviousRatingsTable, 'Table'[Date], DESC )
VAR PreviousRating =
    MAXX ( PreviousRatingTable, 'Table'[Rating] )
RETURN
    PreviousRating
3 REPLIES 3
Super User
Super User

Re: Need Help: Show second to last value

Hi,

Share the link from where i can download the PBI file or paste the Table here so that i can take it to an Excel file.  More importantly, please show the expected result in another column.

AkhilAshok Established Member
Established Member

Re: Need Help: Show second to last value

You could probably create a Calculated column like this:

 

Previous Rating = 
VAR CurrentDate = 'Table'[Date]
VAR CurrentCountry = 'Table'[Country]
VAR AllPreviousRatingsTable =
    FILTER (
        'Table',
        'Table'[Country] = CurrentCountry
            && 'Table'[Date] < CurrentDate
    )
VAR PreviousRatingTable =
    TOPN ( 1, AllPreviousRatingsTable, 'Table'[Date], DESC )
VAR PreviousRating =
    MAXX ( PreviousRatingTable, 'Table'[Rating] )
RETURN
    PreviousRating
rajivraina Regular Visitor
Regular Visitor

Re: Need Help: Show second to last value


@AkhilAshok wrote:

You could probably create a Calculated column like this:

 

Previous Rating = 
VAR CurrentDate = 'Table'[Date]
VAR CurrentCountry = 'Table'[Country]
VAR AllPreviousRatingsTable =
    FILTER (
        'Table',
        'Table'[Country] = CurrentCountry
            && 'Table'[Date] < CurrentDate
    )
VAR PreviousRatingTable =
    TOPN ( 1, AllPreviousRatingsTable, 'Table'[Date], DESC )
VAR PreviousRating =
    MAXX ( PreviousRatingTable, 'Table'[Rating] )
RETURN
    PreviousRating


Thank you this worked perfectly!!