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 , QUARTER et 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 sontDAY
,MONTH
,QUARTER
etYEAR
. 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 colonnedates
commence à partir du 1er juillet 2017 et que la valeurstart_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
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.
Contenu connexe
fonctions Time Intelligence (DAX)fonctions date et heure (DAX)DATESBETWEEN, fonction (DAX)