Función DATESBETWEEN

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:

Sales YTD = 
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:

Sales YTD = 
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.