La primera fila que queremos visible es fácil de obtener: podemos usar la función DATE para crearla. Y la última fila que queremos visible la podemos obtener a partir del contexto de filtro inicial, pues es “la más alta”. Es decir, la podemos extraer con la función MAX.
Y una vez que tenemos la primera fecha y la última fecha del período que queremos seleccionar, podríamos usar la función FILTER aplicada al calendario para obtener el período buscado.
Hagamos un primer intento:
VAR __firstDate = DATE(2015, 1, 1)
VAR __lastDate = MAX('Calendar'[Date])
RETURN
CALCULATE(
[Sales],
FILTER(
'Calendar',
AND(
'Calendar'[Date] >= __firstDate,
'Calendar'[Date] <= __lastDate
)
)
)
Si llevamos la medida a la matriz que habíamos creado:
vemos que no funciona ¿cuál es el problema? En nuestra medida estamos identificando correctamente la primera fecha que nos interesa (el 1 de enero de 2015), la última fecha que nos interesa (el último de los días), estamos recalculando la medida [Sales] (en la función CALCULATE) imponiendo el nuevo contexto de filtro, que consiste en filtrar la tabla Calendar para que solo considere las fechas que nos interesan… Todo parece correcto.