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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Faith_Data
Regular Visitor

Calculate Difference Between the last non blank value and the second last nonblank value with filter

Reg noMileage
CCN 342D3342
CCN 455A880
VWT 403B10935
CCN 342D4000
CCN 455A1000

 Please help with the dax function to calculate difference between the last non blank row and the second last non blank row.The reg number is repeated.

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

 

Untitled.png

 

Mileage diff measure: =
VAR lastmileage =
    MAX ( Data[Mileage] )
VAR previousofthelastmileage =
    MAXX (
        FILTER (
            ALL ( Data ),
            Data[Reg no] = MAX ( Data[Reg no] )
                && Data[Mileage] < lastmileage
        ),
        Data[Mileage]
    )
RETURN
    IF ( HASONEVALUE ( Data[Reg no] ), lastmileage - previousofthelastmileage )

 

    Microsoft MVP




If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.





LinkedIn
Visit my LinkedIn page





Outlook Booking
Schedule a short Teams meeting to discuss your question.




View solution in original post

6 REPLIES 6
tamerj1
Super User
Super User

Hi @Faith_Data 
Here you go https://we.tl/t-Mrey2dTPxa

First of all make sure the have the mileage column as intiger data type. 

 

 

Mileage diff measure - Tamer = 
SUMX ( 
    VALUES ( 'PM Data'[REG NO] ),
    CALCULATE (
        VAR LastTwoDatesTable = TOPN ( 2,'PM Data', 'PM Data'[LAST SERVICE], DESC )
        VAR Last_Date = MAXX ( LastTwoDatesTable, 'PM Data'[LAST SERVICE] )
        VAR Last_2ndDate = MINX ( LastTwoDatesTable, 'PM Data'[LAST SERVICE] )
        VAR Last_DateMileage = MAXX ( FILTER ( LastTwoDatesTable, 'PM Data'[LAST SERVICE] = Last_Date ), 'PM Data'[LAST MILEAGE] )
        VAR Last_2ndDateMileage = MAXX ( FILTER ( LastTwoDatesTable, 'PM Data'[LAST SERVICE] = Last_2ndDate ), 'PM Data'[LAST MILEAGE] )
        RETURN
            IF ( 
                COUNTROWS ( LastTwoDatesTable ) >= 2,
                Last_DateMileage - Last_2ndDateMileage
            )
    )
)

 

 

1.png

Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

 

Untitled.png

 

Mileage diff measure: =
VAR lastmileage =
    MAX ( Data[Mileage] )
VAR previousofthelastmileage =
    MAXX (
        FILTER (
            ALL ( Data ),
            Data[Reg no] = MAX ( Data[Reg no] )
                && Data[Mileage] < lastmileage
        ),
        Data[Mileage]
    )
RETURN
    IF ( HASONEVALUE ( Data[Reg no] ), lastmileage - previousofthelastmileage )

 

    Microsoft MVP




If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.





LinkedIn
Visit my LinkedIn page





Outlook Booking
Schedule a short Teams meeting to discuss your question.




Thank you @Jihwan_Kim for faster response ,however the measure on my end is bringing all blanks

Hi,

Please share your sample pbix file's link, and then I can try to look into it to come up with a more accurate solution.

Thanks.


 

    Microsoft MVP




If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.





LinkedIn
Visit my LinkedIn page





Outlook Booking
Schedule a short Teams meeting to discuss your question.




tamerj1
Super User
Super User

Hi @Faith_Data 
Please provide the expected results as per the sample data provided.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

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.

June 2025 community update carousel

Fabric Community Update - June 2025

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