Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
I'm trying to calculate the percent change between two given periods based on the dates selected in the date filter.
For instance, I want to calculate the % change for spend when the date filter is set to 10/21/2018 - 11/3/2018 (14 days). I would want to compare that spend to the spend that occurred between 10/7/2018 - 10/20/2018 (previous 14 days)
Thank you!
Solved! Go to Solution.
Hi @cassidy4,
Based on my assumption, I tested with below sample data. The right image shows a date dimention table created by:
calendar = CALENDAR(DATE(2018,10,1),DATE(2018,11,30) )
There is no relationship between tables. Add 'Calendar'[Date] into slicer. Then, create measures:
Sum1 =
CALCULATE (
SUM ( 'Table1'[Sales] ),
FILTER (
'Table1',
'Table1'[Date] >= MIN ( 'calendar'[Date] )
&& 'Table1'[Date] <= MAX ( 'calendar'[Date] )
)
)
Sum2 =
VAR countdays =
DATEDIFF ( MIN ( 'calendar'[Date] ), MAX ( 'calendar'[Date] ), DAY )
VAR startdate =
MIN ( 'calendar'[Date] ) - 1
- countdays
VAR enddate =
MIN ( 'calendar'[Date] ) - 1
RETURN
CALCULATE (
SUM ( 'Table1'[Sales] ),
FILTER (
'Table1',
'Table1'[Date]
<= MIN ( 'calendar'[Date] ) - 1
&& 'Table1'[Date]
>= MIN ( 'calendar'[Date] ) - 1
- countdays
)
)
change = ([Sum1]-[Sum2])/[Sum1]
Best regards,
Yuliana Gu
Hi @cassidy4,
Based on my assumption, I tested with below sample data. The right image shows a date dimention table created by:
calendar = CALENDAR(DATE(2018,10,1),DATE(2018,11,30) )
There is no relationship between tables. Add 'Calendar'[Date] into slicer. Then, create measures:
Sum1 =
CALCULATE (
SUM ( 'Table1'[Sales] ),
FILTER (
'Table1',
'Table1'[Date] >= MIN ( 'calendar'[Date] )
&& 'Table1'[Date] <= MAX ( 'calendar'[Date] )
)
)
Sum2 =
VAR countdays =
DATEDIFF ( MIN ( 'calendar'[Date] ), MAX ( 'calendar'[Date] ), DAY )
VAR startdate =
MIN ( 'calendar'[Date] ) - 1
- countdays
VAR enddate =
MIN ( 'calendar'[Date] ) - 1
RETURN
CALCULATE (
SUM ( 'Table1'[Sales] ),
FILTER (
'Table1',
'Table1'[Date]
<= MIN ( 'calendar'[Date] ) - 1
&& 'Table1'[Date]
>= MIN ( 'calendar'[Date] ) - 1
- countdays
)
)
change = ([Sum1]-[Sum2])/[Sum1]
Best regards,
Yuliana Gu
@cassidy4 you can DAX function sameperiodlastyear
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.