Resolución del ejercicio

Este escenario se resuelve calculando las ventas “actuales” (las del período que corresponda en cada caso sin modificar el contexto de filtro) y las ventas totales del año al que pertenezca el período en cuestión (y para esto sí hará falta modificar el contexto de filtro ampliando el período temporal visible a todo el año), y devolviendo el cociente entre ambas cifras.

El cálculo de las ventas del año es algo fácilmente resoluble usando la función PARALLELPERIOD. Recordemos que esta función va a añadir a las fechas visibles un cierto número de intervalos y va a ampliar el conjunto de fechas visibles a todo ese intervalo. Concretamente, si al período actual de que se trate le sumamos 0 años (con lo que no se modifica) y ampliamos el período actual a nivel de año, estaremos pasando de un mes, o de un trimestre (o del período actual de que se trate) a todo el año actual, que es exactamente lo que buscamos.

Nuestra medida quedaría del siguiente modo:

Sales vs Annual total Pct = 
VAR __sales = [Sales]
VAR __annualSales = 
    CALCULATE(
        [Sales],
        PARALLELPERIOD(
            'Calendar'[Date],
            0,
            YEAR
        )
    )
RETURN
    DIVIDE(
        __sales,
        __annualSales
    )

Lo único destacable en ella es la variable __annualSales en la que almacenamos la cifra de ventas tras modificar el período de cálculo usando la función PARALLELPERIOD tal y como se ha comentado.