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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
adityavighne
Continued Contributor
Continued Contributor

Dynamic Calculation Based on Date

Hi,

 

I have a date slicer


1.PNG

 

I want to select a date range and calculate % change equivalent to the same previous period(days)

 

eg. if I select 15-31 march I want to compare data with a 1-14 march and then calculate % change

 

Dimensions - Date and Daily Total Sales

 

It must be dynamic if I select 45 days then previous 45 days data must be compared with it.

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

@adityavighne

Assuming your slicer is based on a Date table, and the measure you want to evaluate is [YourMeasure], you can write a measure that looks something like this:

Change from Prior Period % =
VAR MinDate =
    MIN ( 'Date'[Date] )
VAR NumDaysSelected =
    COUNTROWS ( 'Date' )
// Alternatively MaxDate - MinDate + 1
VAR CurrentMeasure = [YourMeasure] VAR PreviousMeasure = CALCULATE ( [YourMeasure], DATESINPERIOD ( 'Date'[Date], MinDate - 1, - NumDaysSelected, DAY ) ) RETURN DIVIDE ( CurrentMeasure, PreviousMeasure ) - 1

The key feature is using DATESINPERIOD to create a date filter of the same number of days ending the day before the selected period.

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

View solution in original post

1 REPLY 1
OwenAuger
Super User
Super User

@adityavighne

Assuming your slicer is based on a Date table, and the measure you want to evaluate is [YourMeasure], you can write a measure that looks something like this:

Change from Prior Period % =
VAR MinDate =
    MIN ( 'Date'[Date] )
VAR NumDaysSelected =
    COUNTROWS ( 'Date' )
// Alternatively MaxDate - MinDate + 1
VAR CurrentMeasure = [YourMeasure] VAR PreviousMeasure = CALCULATE ( [YourMeasure], DATESINPERIOD ( 'Date'[Date], MinDate - 1, - NumDaysSelected, DAY ) ) RETURN DIVIDE ( CurrentMeasure, PreviousMeasure ) - 1

The key feature is using DATESINPERIOD to create a date filter of the same number of days ending the day before the selected period.

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors