I am having a brain freeze.
I imported SampleA.csv and then I tried the below on a date field
EOMONTH(SampleA[Date],0)
And
ENDOFMONTH(SampleA[Date])
They both should give me the same value. However, it doesn’t.
First, I thought it was bug, so I tested it with a new file SampleB.Csv and it works as expected.
I am unable to understand what the issue could be. I tried in 2 different pcs and same issue was observed in both.
ENDOFMONTH
will return the highest day of the month from your Dates column.
Days that aren’t present on that column will not count.
So in your example, it looks like it works in SampleB because you added a row with Feb 29th, while the highest for SampleA is Feb 28th.
It is recommended to have a Dates table with all the days to avoid this.
Source: https://dax.guide/endofmonth/
On the other hand, EOMONTH
will return the last day of the specified month, regardless of the data in your Dates column.
Source: https://dax.guide/eomonth/
1
ENDOFMONTH is a time intelligence function. To quote https://dax.guide/endofmonth/, is the following true for you:
In order to use any time intelligence calculation, you need a
well-formed date table. The Date table must satisfy the following
requirements:All dates need to be present for the years required. The Date table must always start on January 1 and end on December 31, including
all the days in this range. If the report only references fiscal
years, then the date table must include all the dates from the first
to the last day of a fiscal year. For example, if the fiscal year 2008
starts on July 1, 2007, then the Date table must include all the days
from July 1, 2007 to June 30, 2008.
There needs to be a column with a DateTime or Date data type containing unique values. This column is usually called Date. Even
though the Date column is often used to define relationships with
other tables, this is not required. Still, the Date column must
contain unique values and should be referenced by the Mark as Date
Table feature. In case the column also contains a time part, no time
should be used – for example, the time should always be 12:00 am.
The Date table must be marked as a date table in the model, in case the relationship between the Date table and any other table is
not based on the Date.The result of time intelligence functions has the same data lineage as
the date column or table provided as an argument.
0