Partager via


DATESINPERIOD

s’applique à :colonne calculéetable calculéemesurecalcul visuel

Note

Cette fonction est déconseillée pour une utilisation dans calculs visuels car elle retourne probablement des résultats sans signification.

Retourne une table qui contient une colonne de dates qui commence par une date de début spécifiée et se poursuit pour le nombre et le type spécifiés d’intervalles de date.

Cette fonction est adaptée à passer en tant que filtre à la fonction CALCULATE. Utilisez-la pour filtrer une expression selon les intervalles de date standard tels que les jours, les mois, les trimestres ou les années.

Syntaxe

DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)

Paramètres

Terme Définition
dates Colonne de date.
start_date Expression de date.
number_of_intervals Entier qui spécifie le nombre d’intervalles à ajouter ou soustraire des dates.
interval Intervalle par lequel déplacer les dates. La valeur de l’intervalle peut être l’une des suivantes : DAY, MONTH, QUARTERet YEAR

Valeur de retour

Table contenant une seule colonne de valeurs de date.

Remarques

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

  • Si le nombre spécifié pour number_of_intervals est positif, les dates sont déplacées vers l’avant dans le temps ; si le nombre est négatif, les dates sont décalées vers l’arrière dans le temps.

  • Le paramètre interval est une énumération. Les valeurs valides sont DAY, MONTH, QUARTERet YEAR. Comme il s’agit d’une énumération, les valeurs ne sont pas passées sous forme de chaînes. Ne les placez donc pas entre guillemets.

  • La table retournée ne peut contenir que des dates stockées dans la colonne dates. Par exemple, si la colonne dates commence à partir du 1er juillet 2017 et que la valeur start_date est le 1er juillet 2016, la table retournée commence à partir du 1er juillet 2017.

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

Exemple

La définition de mesure de table sales suivante utilise la fonction pour calculer les revenus de l’année précédente (PY).

Notez que la formule utilise la fonction MAX. Cette fonction retourne la date la plus récente dans le contexte de filtre. Par conséquent, la fonction DATESINPERIOD retourne une table de dates commençant par la date la plus récente de l’année dernière.

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 DAX exemple de modèle.

Revenue PY =
CALCULATE(
    SUM(Sales[Sales Amount]),
    DATESINPERIOD(
        'Date'[Date],
        MAX('Date'[Date]),
        -1,
        YEAR
    )
)

Considérez que le rapport est filtré par le mois de juin 2020. La fonction MAX retourne le 30 juin 2020. La fonction DATESINPERIOD retourne ensuite une plage de dates comprise entre le 1er juillet 2019 et le 30 juin 2020. Il s’agit d’une année de valeurs de date à partir du 30 juin 2020 pour l’année dernière.

fonctions Time Intelligence (DAX)fonctions date et heure (DAX)DATESBETWEEN, fonction (DAX)