Forum Discussion
ENDOFMONTH function not working as expected
I created a simple date table as follows:
DateTable =
DATATABLE(
"Date", DATETIME, {
{"14/2/2024"},
{"15/2/2024"},
{"16/2/2024"}
}
)
Then I created a new column using
End of Month = ENDOFMONTH(DateTable[Date])
Result
I know I can use EOMONTH which works, but am curious why this doesnt? I expect to get 29 February but it seems like its simply picking the maximum date. Or maybe I failed to understand the documentation
Hi henry_s ,
You are right.
The EOMONTH is a date function that returns the last date of the month irrespective of what dates are present in the date table.
The ENDOFMONTH is a time intelligence function that returns last date in the current context which means for the month and year that corresponds to the row. You can think of it like a max function on date column for the year-month combination.
In documentation, you will find EOMONTH under date and time functions, while ENDOFMONTH in time intelligence functions. Time intelligence functions require a date table to operate to their best efficiency while date and time functions don't necessarily need that.
2 Replies
- govindarajan_dSuper User
Hi henry_s ,
You are right.
The EOMONTH is a date function that returns the last date of the month irrespective of what dates are present in the date table.
The ENDOFMONTH is a time intelligence function that returns last date in the current context which means for the month and year that corresponds to the row. You can think of it like a max function on date column for the year-month combination.
In documentation, you will find EOMONTH under date and time functions, while ENDOFMONTH in time intelligence functions. Time intelligence functions require a date table to operate to their best efficiency while date and time functions don't necessarily need that.
- henry_sRegular Visitor
Understood thanks govindarajan_d . Makes sense now, the name is quite misleading.