Crecimiento respecto a un período anterior

Un escenario frecuente es el que supone el cálculo de crecimiento de una métrica expresado como porcentaje (ventas, número de clientes, número de unidades vendidas, etc.) con respecto a un cierto período anterior, por ejemplo un año o un trimestre, por poner un par de ejemplos. El cálculo básico a realizar es el siguiente:

[% crecimiento] = (Valor actual - Valor hace un año) / Valor hace un año

Para el cálculo del "Valor hace un año" vamos a utilizar la función DATEADD que devuelve una tabla conteniendo una columna de fechas que coinciden con las implicadas en el contexto actual desplazadas hacia adelante o hacia atrás un número de intervalos determinado. De esta forma, si la métrica es [Valor actual], podríamos definir:

[Valor hace un año] = CALCULATE([Valor actual];DATEADD(DimDate[Datekey];1;YEAR))

Por último, la definición de la métrica buscada sería:

% crecimiento = DIVIDE(
    [Valor actual] - CALCULATE([Valor actual];DATEADD(DimDate[Datekey];1;YEAR));
    CALCULATE([Valor actual];DATEADD(DimDate[Datekey];1;YEAR))
)

La función DATEADD nos permite referir el crecimiento a cualquier número de días, meses, trimestres o años (atrás o adelante en el tiempo).