These two functions may seem similar to someone – because they are used in situations that may seem similar. So what do DATEADD and PARALLELPERIOD have in common? Both, for some period, assign values for some other period. Like five months forward, three quarters backward etc. It works for days, months, quarters and years.
So how do these functions differ?
DATEADD
DATEADD shows always the equally long period, but moved backwards or forwards by some number of years (quarters, months, days…).
For example if you move two quarters backward:
On the quarter level it shows the quarter values moved back, so for example for the fourth quarter it shows the second quarter. On the month level it shows the month values two quarters back – so for September it shows March etc.
PARALLELPERIOD
PARALLELPERIOD shows always the length of period you define in syntax (year, quarter, month…), regardless of context.
For example if you move two quarters backward:
For the fourth quarter it returns values from the second quarter, but for September it returns values, still, from the second quarter (because second quarters includes March, which is two quarters before September).
Example
Functions can be written like this: