Showing results for 
Search instead for 
Did you mean: 
bhmiller89 Member

EndOfMonth DAX Function Issues

I made a column: ThisDate= TODAY() 


I then attempted to make the column: EOM= ENDOFMONTH(Table[ThisDate])


The results return the same date as TODAY().  Why won't it return the date of the last day of the current month?


Any help is appreciated. 

Super User
Super User

Re: EndOfMonth DAX Function Issues

You want EOMONTH, not ENDOFMONTH. ENDOFMONTH returns the last day of the month in the current context of the date column specified, which in your case is always TODAY().


See EOMONTH here:

Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!

Moderator v-caliao-msft

Re: EndOfMonth DAX Function Issues

Hi Bhmiller89,


According to your description, you need to get the last day of current month by using a DAX expression, right?


If that is the case, you can use the DAX below
LastDay = EOMONTH(today(),0)



Charlie Liao

edhans New Contributor
New Contributor

Re: EndOfMonth DAX Function Issues

ISn't EndOfMonth() then essentially MAX() run on a dates column?

DaxMania Frequent Visitor
Frequent Visitor

Re: EndOfMonth DAX Function Issues

I have a Calendar Table that ranges from 10/15/2018 to 03/28/2019. I wanted to add "Month" as a second column to use as a "Label" for aggregation. I used:

Month= ENDOFMONTH('Calendar'[Date])



When I pull this on to the visual, it misbehaves. I know this function has a scope of Current Context and that is fine with me in this case. What I don't understand is why Labels are "Offset" by a month?


I tried to change it from:

Month= ENDOFMONTH('Calendar'[Date]) to Month= STARTOFMONTH('Calendar'[Date])

This did fix my Latest month, but it also moved the first month.


Furthermore, changing TYPE of X-Axis does fix the issue by changing the Label Format; however that's not something I like to have.


Any expert opinion what's going on here? or is it a known issue or bug?