cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

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
Highlighted
Solution Sage
Solution Sage

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

View solution in original post

3 REPLIES 3
Highlighted
Super User III
Super User III

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.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Highlighted
Solution Sage
Solution Sage

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

View solution in original post

Highlighted


@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!!

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors