Comencemos con el nivel jerárquico "mes": Para un mes dado, el contexto de filtro inicial (en la tabla Calendar) será el definido por las filas visibles correspondientes a ese mes. Y querríamos cambiar dicho contexto de filtro de forma que las filas visibles fuesen todas las del trimestre al que pertenece dicho mes. Esto podemos lograrlo fácilmente con la función PARALLELPERIOD que ya conocemos añadiendo al período actual cero trimestres y ampliándolo a dicho trimestre:
VAR __currentSales = [Sales]
VAR __quarterSales =
CALCULATE(
[Sales],
PARALLELPERIOD(
'Calendar'[Date],
0,
QUARTER
)
)
RETURN
DIVIDE(
__currentSales,
__quarterSales
)
Es decir, recalculamos las ventas (medida [Sales]) apuntando al contexto de filtro dado por la expansión temporal del mes al mismo trimestre, y devolvemos el cociente.
Si damos a esta medida formato de porcentaje y la llevamos a la matriz (y eliminamos las tres medidas que habíamos llevado previamente a ella), el resultado es el siguiente:
Vemos que, para cualquier mes, la medida [Sales Month Pct] devuelve correctamente el porcentaje que las ventas de dicho mes suponen con respecto a las del trimestre al que corresponda, lo que también puede confirmarse viendo que, para cualquier trimestre (por ejemplo, el primero de 2015) los porcentajes de los tres meses que lo componen (en rojo en la anterior imagen) suman 100%.