The DATEADD function calculates values for a reporting period, but shifted by some time.

Works similarly to the SAMEPERIODLASTYEAR function, but the shift is not necessary by one year. We can shift by any number of years, quarters, months or days, forward or backward.

The DATEADD function really shows the same period (shifted), which is the fundamental difference from functions like PARALLELPERIOD or NEXT or PREVIOUS functions.

Example – shift by two quarters back

  • Two quarters ago = CALCULATE(
       SUM(MyTable[MyNumbers]);
       DATEADD(
          MyCalendar[DateInTimeDimension];
          -2;
          QUARTER))

In a result can be seen, that all values are really shifted by two quarters – the quarter totals as well as month values “inside” quarters.