La primera función que vamos a revisar es DATESBETWEEN. Esta función devuelve una tabla conteniendo todas las fechas entre dos dadas. DATESBETWEEN debe ser ejecutada pasándole tres argumentos: la referencia a la tabla calendario, la fecha inicial y la fecha final.
Esta función nos permite simplificar el código de nuestra medida [Sales YTD]. Recordemos cómo había sido definida:
VAR __firstDate = MIN('Calendar'[Date])
VAR __lastDate = MAX('Calendar'[Date])
VAR __year = YEAR(__firstDate)
RETURN
CALCULATE(
[Sales],
FILTER(
ALL('Calendar'),
AND(
'Calendar'[Date] >= DATE(__year, 1, 1),
'Calendar'[Date] <= __lastDate
)
)
)
Ahora, en lugar de realizar el filtro a mano, podemos aprovecharnos de la función DATESBETWEEN:
VAR __firstDate = MIN('Calendar'[Date])
VAR __lastDate = MAX('Calendar'[Date])
VAR __year = YEAR(__firstDate)
RETURN
CALCULATE(
[Sales],
DATESBETWEEN(
'Calendar'[Date],
DATE(__year, 1, 1),
__lastDate
)
)
Podemos ver que, en la función CALCULATE, estamos evaluando la medida [Sales] imponiendo como fechas visibles las contenidas en el intervalo DATE(__year, 1, 1) y __lastDate. Igual que en el código original, pero sin necesidad de recurrir a la función FILTER y a la función AND.