DATESINPERIOD
s’applique à :colonne calculéetable calculéeMeasurecalcul 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 contains une colonne de dates commençant par un dateand de début spécifié se poursuit pour le type and nombre spécifié d’intervalles de date.
Cette fonction est adaptée à passer en tant que filter à la fonction CALCULATE. Utilisez-la pour filter une expression par intervalles de date standard tels que les jours, les mois, les trimestres, les or années.
Syntaxe
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Paramètres
Terme | Définition |
---|---|
dates |
Colonne date. |
start_date |
Expression date. |
number_of_intervals |
Entier qui spécifie le nombre d’intervalles à ajouter, or soustraire des dates. |
interval |
Intervalle par lequel déplacer les dates. La value pour l’intervalle peut être l’une des suivantes : DAY , MONTH , QUARTER , andYEAR |
Retourner value
Table contenant une seule colonne de datevalues.
Remarques
Dans le cas d’usage le plus courant,
dates
est une référence à la colonne date d’une table date marquée.If le nombre spécifié pour
number_of_intervals
est positif, les dates sont déplacées vers l’avant dans time; if le nombre est négatif, les dates sont décalées vers l’arrière dans time.Le paramètre
interval
est une énumération. Les values valides sontDAY
,MONTH
,QUARTER
, andYEAR
. Comme il s’agit d’une énumération, values 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, if la colonnedates
commence à partir du 1er juillet 2017, and lestart_date
value est le 1er juillet 2016, la table retournée commence à partir du 1er juillet 2017.Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).
Exemple
La définition de measure suivante utilise la fonction DATESINPERIOD pour calculate chiffre d’affaires pour le year précédent (PY).
Notez que la formule utilise la fonction MAX. Cette fonction retourne la dernière date qui se trouve dans le contexte filter. Par conséquent, la fonction DATESINPERIOD retourne une table de dates commençant par la dernière date pour la lastyear.
Vous pouvez utiliser des exemples dans cet article avec le modèle sample Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez DAXsample 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 les month de juin 2020. La fonction MAX retourne le 30 juin 2020. La fonction DATESINPERIOD retourne ensuite une daterange du 1er juillet 2019 au 30 juin 2020. C’est une year de datevalues à partir du 30 juin 2020 pour le lastyear.
contenu Related
fonctions Time intelligence (DAX) fonctionsDateandtime (DAX)DATESBETWEEN fonction (DAX)