Forum Discussion
Understanding DATESYTD, DATESBETWEEN and similar functions
I am trying to understand what is happening beneath the surface with functions like DATESYTD and DATESBETWEEN. The scenario:
- A measure [Total]
- A calendar table Calendar with columns Date, Year, Month, Day
- A matrix with rows Year, Month and value [Total]
- Some YTD measures (below)
Measure 1 - Using TOTALYTD - ok
Measure 2 - Using CALCULATE and DATESYTD
Measure 3 - Using CALCULATE and DATESBETWEEN
All three work as expected and produce the expected result. Curiosity has me wondering how the 2nd and 3rd are doing so relative to the matrix layout. In my expressions I do not refer to of modify (clear) the filters on Year, Month, Day.
Given DATESYTD and DATESBETWEEN return a single column table.
If I wrote the expression using the custom technique with FILTER then I'd need to explicitly clear the filters on those columns or the entire Calendar table.
I assume DATESYTD and DATESBETWEEN are doing this but is there any documented details on how these functions work?
Measure 2 = CALCULATE ( [Total, DATESYTD ( 'Calendar'[Date] ) ) Measure 3 = CALCULATE ( [Total], DATESBETWEEN ( 'Calendar'[Date], STARTOFYEAR ( 'Calendar'[Date] ), LASTDATE ( 'Calendar'[Date] ) ) )
Note, am not concerned about the theory of other functions (unless they relate to this topic), am well aware of when and how simple functions like MAX/MIN should be used.
The reason is explained in this article: https://www.sqlbi.com/articles/time-intelligence-in-power-bi-desktop/
4 Replies
- Cymbolz
Helper III
Giving this a slight bump. Anyone?
- Cymbolz
Helper III
marcorusso time for the super heros of DAX to have an input? :)
- marcorusso
Most Valuable Professional
The reason is explained in this article: https://www.sqlbi.com/articles/time-intelligence-in-power-bi-desktop/