Moving Average

Si el número de períodos a cubrir es negativo, los períodos se consideran hacia atrás en el tiempo. Por ejemplo, si quisiéramos calcular las ventas de los 7 días previos al período actual (sea el que sea), podríamos hacerlo con la siguiente medida (MA = Moving Average):

Sales MA7 =
CALCULATE(
    [Sales],
    DATESINPERIOD(
        'Calendar'[Date],
        MIN('Calendar'[Date]),
        -7,
        DAY
    )
)

Obsérvese que se ha escogido como fecha de partida el primer día del período actual (es decir, la fecha más antigua): si el período actual es de un único día, el primer día es ese mismo día. Pero si el período actual es un período más largo, el escoger como fecha de partida el primer día, el último día u otro supondrá obtener diferentes resultados, por supuesto.

Si llevamos la medida a la matriz, ésta tendrá ahora el siguiente aspecto:

Moving Average

Por ejemplo, el resultado obtenido para el 7 de enero de 2017 es el correspondiente a la suma de los valores que, partiendo desde dicha fecha, cubren 7 días hacia atrás en el tiempo (fechas marcadas en rojo).

O el resultado obtenido para el 2 de enero es el correspondiente a la suma de las ventas correspondientes a los 7 días que acaban en dicha fecha:

Moving Average

Por otro lado, para el período actual correspondiente al año 2017 entero, o para el correspondiente al primer trimestre de dicho año, o al mes de enero de dicho año (períodos cuya fecha más antigua es el 1 de enero) comprobamos que nuestra medida devuelve la suma de las ventas para el período de 7 días que termina el 1 de enero:

Moving Average

El intervalo a añadir o a restar (el cuarto argumento de la función DATESINPERIOD) puede ser DAY, MONTH, QUARTER o YEAR.