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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
archerjayden
Helper I
Helper I

DAX Row minus Previous Row

Hi,

I am looking for help on achieving moving range from data.

How do I get DAX to subtract row by previous row?

I am working on SQL Server direct query mode and unable to crack this for my report.

Please advise and kindly refer to excel sample data and formula below I’ve tried.

 

 

[TotalQty] =
                 Divide(SUM([delivered_quantity]),SUM([req_quantity]),0)

PreviousRowSubtract = 
                  ([TotalQty]) - CALCULATE ( 
        
      SUMX([delivered_quantity])/SUMX([req_quantity])*100,FILTER([Date]=dateadd([Date],-1,Day)))

 

 

Column D is what I am trying to achieve this would have other filter contexts like Year, MonthNum, WeekNum and Weekday in the form of Slicers

 

Many thanks

Archer

Sample DataSample Data

4 REPLIES 4
Fowmy
Super User
Super User

@archerjayden 

This could work:

Column = 
VAR _DATE = 'Table'[A]
VAR _LASTDATE = 
    CALCULATE(
        MAX('Table'[A]),
        FILTER('Table','Table'[A] < _DATE)
    )
RETURN
[B]
-
CALCULATE(
    MAX([C]),FILTER('Table','Table'[A] = _LASTDATE))

 

________________________

Did I answer your question? Mark this post as a solution, this will help others!.

Click on the Thumbs-Up icon on the right if you like this reply 🙂

YouTube, LinkedIn

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

amitchandak
Super User
Super User

@archerjayden , try as new column

 

new colum =
var _date = maxx( filter(Table,[date] <earlier([date])),[Date])
return
[total qty] - maxx( filter(Table,[date] = _date)),[total qty])

 

//prefer this if you have continuous date

new colum =
[total qty] - maxx( filter(Table,[date] = earlier([date])-1),[total qty])

Hi @amitchandak  thanks for your approach! I am using Direct query and function Earlier doesnt work no matter how I tried? would you happen to know an alternative approach for the same please? 

 

PS : I can't even add an Index column from PQ

@archerjayden , You have to day on day time intelligence using date table (or prefer date table)

 

You can use previousday function

sum(Table[Total Qty]) - calculate(Table[Total Qty]) ,previousday ('Date'[Date] ) )

 

Day Intelligence - Last day, last non continous day
https://medium.com/@amitchandak.1978/power-bi-day-intelligence-questions-time-intelligence-5-5-5c324...

 

 

 

 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors