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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
RiniMaria
Frequent Visitor

Date Filter

Hello,

 

I have a table which has information always for the last 12months (rolling months). This table is refreshed every month.

I need to be able to filter this table two ways in Power Query  -

1. Always take the oldest 3 months

2. Always take the latest 3 months.

 

 

1 ACCEPTED SOLUTION

 

That's perfect, thanks.

I'd add a relative month column to your data in Power Query, something like this:

RelativeMonth =
( Date.Year([Time]) * 12 + Date.Month([Time]) )
- ( Date.Year(DateTime.LocalNow()) * 12 + Date.Month(DateTime.LocalNow()) )

 

This should give you a column that contains the values -1 to -12 which can then be easily used in either M or DAX to grab any month you want. For example:

// EarliestThreeMonths_M
List.Contains({-12, -11, -10}, [RelativeMonth])

// EarliestThreeMonths_DAX
YourTable[RelativeMonth] IN {-12, -11, -10}

// LatestThreeMonths_M_DAX
[RelativeMonth] >= -3

// MiddleFourMonths_M
List.Contains({-5, -6, -7, -8}, [RelativeMonth])
// or
[RelativeMonth] >= -8 and [RelativeMonth] <= -5

// and so on...

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




View solution in original post

4 REPLIES 4
RiniMaria
Frequent Visitor

Thank you so much! This works!

RiniMaria
Frequent Visitor

Hi @BA_Pete,

 

My date column is in Date format (YYYY-MM-DD). Data is connected to different regions so the dates will be repeated and I have 1000+ rows of data in here. Here is a snippet - 

RiniMaria_0-1665580636829.png

Not sure if this answers you question. Let me know!

 

That's perfect, thanks.

I'd add a relative month column to your data in Power Query, something like this:

RelativeMonth =
( Date.Year([Time]) * 12 + Date.Month([Time]) )
- ( Date.Year(DateTime.LocalNow()) * 12 + Date.Month(DateTime.LocalNow()) )

 

This should give you a column that contains the values -1 to -12 which can then be easily used in either M or DAX to grab any month you want. For example:

// EarliestThreeMonths_M
List.Contains({-12, -11, -10}, [RelativeMonth])

// EarliestThreeMonths_DAX
YourTable[RelativeMonth] IN {-12, -11, -10}

// LatestThreeMonths_M_DAX
[RelativeMonth] >= -3

// MiddleFourMonths_M
List.Contains({-5, -6, -7, -8}, [RelativeMonth])
// or
[RelativeMonth] >= -8 and [RelativeMonth] <= -5

// and so on...

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




BA_Pete
Super User
Super User

Hi @RiniMaria ,

 

Can you provide a small example of what your data looks like please?

The main thing I need to see is the date format and frequency in your table i.e. are they all individual dates, month-end dates, or something else.

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 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.