Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hello,
It's the first time I am posting a question here. Hopefully I do it right. I have a question with Last date issue when use DATESBETWEEN function hope someone can help with.
I have a parameter table with parameter of 1-12
I also have a DimDate table with a InvoiceDate column and End of Month column.
What I am trying to achieve is to calculate sales based on period. If the parameter is 2, then I want to evaluate sales every 2 month as a period. For example, If the [End of Month] is 02/28/2022, then current period is 01/01/2022-02/28/2022, last period should be 11/01/2021-12/31/2021. However when I use the DATESBETWEEN function to get the last period, the last date is not showing as I would like because the last date in each month is differen: the last date in the last period is 12/28/2021, instead of 12/31/2021.
How can I get the correct last date for the last period? Thank you!
Solved! Go to Solution.
I suggest you write some custom time Intelligence. I talk about it here
https://exceleratorbi.com.au/dax-time-intelligence-beginners/
and here (additional features of a good calendar table)
https://exceleratorbi.com.au/power-bi-calendar-tables/
once you have a monthID column in your calendar table, use that to do your calendar time shift. All you need to do in the filter portion is filter the calendar table, you don't need all that extra datesbetween stuff.
FILTER(ALL(Calendar),Calendar[MonthID] >= MIN(Calendar[MonthID])-[Parameter value] &&
Calendar[MonthID] <= MIN(Calendar[MonthID]))
with the above filter, you can then extract the dates
CALCULATE(MIN(Calendar[Date]),
FILTER(ALL(Calendar),Calendar[MonthID] >= MIN(Calendar[MonthID])-[Parameter value] &&
Calendar[MonthID] <= MIN(Calendar[MonthID]))
)
Thank you! your suggested solution is so much better!
I suggest you write some custom time Intelligence. I talk about it here
https://exceleratorbi.com.au/dax-time-intelligence-beginners/
and here (additional features of a good calendar table)
https://exceleratorbi.com.au/power-bi-calendar-tables/
once you have a monthID column in your calendar table, use that to do your calendar time shift. All you need to do in the filter portion is filter the calendar table, you don't need all that extra datesbetween stuff.
FILTER(ALL(Calendar),Calendar[MonthID] >= MIN(Calendar[MonthID])-[Parameter value] &&
Calendar[MonthID] <= MIN(Calendar[MonthID]))
with the above filter, you can then extract the dates
CALCULATE(MIN(Calendar[Date]),
FILTER(ALL(Calendar),Calendar[MonthID] >= MIN(Calendar[MonthID])-[Parameter value] &&
Calendar[MonthID] <= MIN(Calendar[MonthID]))
)
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 3 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 11 | |
| 9 | |
| 8 | |
| 7 | |
| 6 |