DATESBETWEEN

S’applique à :Colonne calculéeTable calculéeMesureCalcul visuel

Remarque

L’utilisation de cette fonction est déconseillée dans les calculs visuels, car elle retournera probablement des résultats non pertinents.

Retourne une table contenant une colonne de dates qui commence à une date de début spécifiée et se poursuit jusqu’à une date de fin spécifiée.

Cette fonction peut être passée en tant que filtre à la fonction CALCULATE. Utilisez-la pour filtrer une expression sur une plage de dates personnalisée.

Notes

Si vous spécifiez des intervalles de dates standard tels que des jours, des mois, des trimestres ou des années, il est recommandé d’utiliser la fonction DATESINPERIOD, qui est plus adaptée.

Syntaxe

DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)

Paramètres

Terme Définition
Dates Colonne de date.
StartDate Expression de date.
EndDate Expression de date.

Valeur renvoyée

Table contenant une seule colonne de valeurs de date.

Remarques

  • Dans le cas d'utilisation le plus courant, Dates est une référence à la colonne de date d'une table de dates marquée.

  • Si StartDate est BLANK, alors StartDate sera la valeur la plus ancienne dans la colonne Dates.

  • Si EndDate est BLANK, alors EndDate sera la dernière valeur dans la colonne Dates.

  • Les dates utilisées comme StartDate et EndDate sont inclusives. Ainsi, par exemple, si la valeur StartDate est le 1er juillet 2019, cette date sera incluse dans la table renvoyée (à condition que la date existe dans la colonne Dates).

  • La table renvoyée ne peut contenir que des dates stockées dans la colonne Dates. Ainsi, par exemple, si la colonne Dates commence le 1er juillet 2017 et que la valeur StartDate est le 1er juillet 2016, la table renvoyée commencera le 1er juillet 2017.

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).

Exemple

La définition de mesure de la table Sales suivante utilise la fonction DATESBETWEEN pour produire un calcul LTD (life-to-date). Life-to-date représente le cumul d’une mesure dans le temps depuis le tout début.

Notez que la formule utilise la fonction MAX. Cette fonction retourne la date la plus récente incluse dans le contexte de filtre. Par conséquent, la fonction DATESBETWEEN retourne une table de dates entre la date la plus ancienne et la date la plus récente.

Les exemples de cet article peuvent être utilisés avec l'exemple de modèle Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez Exemple de modèle DAX.

Customers LTD =
CALCULATE(
    DISTINCTCOUNT(Sales[CustomerKey]),
    DATESBETWEEN(
        'Date'[Date],  
        BLANK(),  
        MAX('Date'[Date])  
    )
)

Supposons que la date la plus ancienne présente dans la table Date soit le 1er juillet 2017. Quand un rapport filtre la mesure sur le mois de juin 2020, la fonction DATESBETWEEN retourne une plage de dates comprises entre le 1er juillet 2017 et le 30 juin 2020.