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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Aahil10
Frequent Visitor

Filter MTD Query with custom date range

Hello!

I have used the TOTALMTD and DATESMTD function in my measures but now need to figure out how to filter it to a custom date range for each month. The month's we use dont exactly follow the Calendar month - e.g May starts on Mya 1 but ends June 6. Every month is slightly different too.

The formula is currently as follows:

 

MTD = TOTALMTD('Core Measures'[Variance],SouthDATA[Production Date])
 
Is there any way to filter one more level using Production Month, using the same functions, or do I have to create new ones?
 
Thanks!
2 REPLIES 2
v-shex-msft
Community Support
Community Support

Hi @Aahil10,

Time intelligence functions not suitable for custom date ranges or field calculations, they are based on the auto-generated hidden calendar.

Auto date/time in Power BI Desktop - Power BI | Microsoft Docs

In my opinion, I'd like to suggest you use the date function manually to filter the custom date range and add the custom field as filter conditions.

If you are confused about the coding formula, please share some dummy data to test.

How to Get Your Question Answered Quickly
Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
amitchandak
Super User
Super User

@Aahil10 , I such case base on start date of period and end date of period create following columns in your date table

 

Period Rank = RANKX(all('Period'),'Period'[year period],,ASC,Dense) 

//OR

Period Rank = RANKX(all('Period'),'Period'[period start date],,ASC,Dense) 

Period Day = DATEDIFF('Date'[Period Start Date],'Date'[Date],Day)+1


This Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Period'),'Period'[Period Rank]=max('Period'[Period Rank])))
Last Period = CALCULATE(sum('order'[Qty]), FILTER(ALL('Period'),'Period'[Period Rank]=max('Period'[Period Rank])-1))

 

PTD = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank]) && [Period Day] <=max([Period Day])))
LPTD = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Period Rank]=max('Date'[Period Rank])-1 && [Period Day] <=max([Period Day])))

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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

Top Solution Authors
Top Kudoed Authors