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).