Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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]))
)
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
25 | |
10 | |
7 | |
6 | |
6 |
User | Count |
---|---|
30 | |
11 | |
11 | |
10 | |
6 |