A model with ten measures that each need YTD, last year and year-over-year versions would need forty measures. A calculation group replaces that with one small table of calculation items that apply to any measure.
Each item is a DAX expression that wraps SELECTEDMEASURE(), the measure being shown:
YTD = CALCULATE(SELECTEDMEASURE(), DATESYTD('Date'[Date]))
PY = CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Date'[Date]))
Put the calculation group's column on a slicer or on matrix columns, and every measure in the visual switches to YTD or PY. Items can also set a format string, so a YoY % item shows percentages while the base measures keep currency.
Rules to know: creating a calculation group turns on Discourage implicit measures, so visuals need explicit measures. Items are applied in precedence order when there are several groups. You create them in Model view, or with external tools.