Returns a table with one column of all dates between StartDate and EndDate.
The start date in datetime format.
The end date in datetime format.
Returns a table with a single column named “Date” containing a contiguous set of dates. The range of dates is from the specified start date to the specified end date, inclusive of those two dates.
The CALENDAR table is useful to create a Date table.
For compatibility with DAX time intelligence functions, it is a best practice to always include an entire year in a Date table.
The following formula returns a table with dates between January 1st, 2005 and December 31st, 2015.
CALENDAR ( DATE ( 2005, 1, 1 ), DATE ( 2015, 12, 31 ) )
The following expression returns the date table covering the range of dates in actual sales data and future sales forecasts.
CALENDAR ( DATE ( YEAR ( MIN ( [Date] ) ), 1, 1 ), DATE ( YEAR ( MAX ( Forecast ) ), 12, 31 ) )
Because a date column can be represented as an integer, CALENDAR can be used as a way to obtain a result similar to a particular call to GENERATESERIES. For example, the following expressions are equivalent, even if the former produces a table with a DateTime data type, whereas the latter returns a table with an Integer data type.
CALENDAR ( 1, 100 ) GENERATESERIES ( 1, 100, 1 )
Learn more about CALENDAR in the following articles:
Other related functions are:
Contributors: Alberto Ferrari, Marco Russo
MSDN documentation: https://msdn.microsoft.com/en-us/query-bi/dax/calendar-function-dax