Forum Discussion
Generate Customer Calendar using today's date as end date
- 8 years ago
This is M language not DAX.
in M you can get today using
DateTime.LocalNow()
https://msdn.microsoft.com/en-us/query-bi/m/datetime-localnow
I use this function for my date dimension from mattmasson
https://www.mattmasson.com/2014/02/creating-a-date-dimension-with-a-power-query-script/
and pass dates. Setting end date to this will create dates up to today.
= DateFunction(StartDate, Date.AddDays(DateTime.Date(DateTime.LocalNow()),1), null)
- 8 years ago
Hi themistoklis,
It seems that you are fairly new to Power BI.
The formula you posted is not that of DAX but of M. If you want to create a calendar in DAX, you may use the CALENDAR() function. Example:
CALENDAR TABLE = CALENDAR ( "1/1/2018", TODAY () )
The above formula should be created as a table and not a measure or a calculated column.
In M, you will have to create a list of dates first then convert it to a table. An example nested formula that generates a list of dates then converts the list to a table.
= Table.FromList( List.Dates( #date(2018, 1, 1), Number.From(DateTime.Date(DateTime.LocalNow())- #date(2018, 1, 1)) + 1, #duration(1, 0, 0, 0)), Splitter.SplitByNothing(), {"Date"}, null, ExtraValues.Error)From Get Data find Blank Query and then place the formula above into the formula bar. If the formula bar is not visible, go to View tab of Power Query Editor and then tick the checkbox for Formula Bar.
Hi themistoklis,
Source is not a M function. Change your formula to
= List.Dates(#date(2017, 01, 01), Number.From(DateTime.Date(DateTime.LocalNow()) - #date(2017, 01, 01))+1, #duration(1, 0, 0, 0))
Then convert the generated list to a table.
Source is actually the name of the previous applied step.
And this step has the fucntion that you mentioned (= List.Dates)
Thanks for clarifying it