Applies ToExcel pour Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

DAX (Data Analysis Expressions) a 35 fonctions spécifiquement pour agréger et comparer des données au fil du temps. Contrairement aux fonctions de date et d’heure de DAX, les fonctions Time Intelligence n’ont rien de similaire dans Excel. Cela est dû au fait que les fonctions time intelligence fonctionnent avec des données qui changent constamment, en fonction du contexte que vous sélectionnez dans les tableaux croisés dynamiques et les visualisations Power View.

Pour utiliser des fonctions time intelligence, vous devez disposer d’une table de dates incluse dans votre modèle de données. La table de dates doit inclure une colonne avec une ligne pour chaque jour de chaque année inclus dans vos données. Cette colonne est considérée comme la colonne Date (bien qu’elle puisse être nommée comme vous le souhaitez). De nombreuses fonctions time-intelligence nécessitent la colonne de date pour calculer en fonction des dates que vous sélectionnez comme champs dans un rapport. Par exemple, si vous avez une mesure qui calcule un solde de fin de trimestre de clôture à l’aide de la fonction CLOSINGBALANCEQTR, pour que Power Pivot sache quand la fin du trimestre est réellement, il doit référencer la colonne date dans la table de dates pour savoir quand le trimestre commence et se termine. Pour en savoir plus sur les tables de dates, consultez Comprendre et créer des tables de dates dans Power Pivot dans Excel.

Fonctions

Fonctions qui retournent une date unique

Les fonctions de cette catégorie retournent une date unique. Le résultat peut ensuite être utilisé comme arguments pour d’autres fonctions.

Les deux premières fonctions de cette catégorie retournent la première ou la dernière date dans le Date_Column dans le contexte actuel. Cela peut être utile lorsque vous souhaitez rechercher la première ou la dernière date à laquelle vous avez eu une transaction d’un type particulier. Ces fonctions ne prennent qu’un seul argument, le nom de la colonne de date dans votre table de dates.

Les deux fonctions suivantes de cette catégorie recherchent la première ou la dernière date (ou toute autre valeur de colonne) où une expression a une valeur non vide. Cela est le plus souvent utilisé dans des situations telles que l’inventaire, où vous souhaitez obtenir le dernier montant d’inventaire et que vous ne savez pas quand le dernier inventaire a été effectué.

Six autres fonctions qui retournent une date unique sont les fonctions qui retournent la première ou la dernière date d’un mois, d’un trimestre ou d’une année dans le contexte actuel du calcul.

Fonctions qui retournent une table de dates

Il existe seize fonctions time-intelligence qui retournent une table de dates. Le plus souvent, ces fonctions sont utilisées comme argument SetFilter pour la fonction CALCULATE . Comme toutes les fonctions time intelligence dans DAX, chaque fonction prend une colonne de date comme argument.

Les huit premières fonctions de cette catégorie commencent par une colonne de date dans un contexte actuel. Par exemple, si vous utilisez une mesure dans un tableau croisé dynamique, il peut y avoir un mois ou une année sur les étiquettes de colonne ou les étiquettes de ligne. L’effet net est que la colonne de date est filtrée pour inclure uniquement les dates du contexte actuel. À partir de ce contexte actuel, ces huit fonctions calculent ensuite le jour, le mois, le trimestre ou l’année précédent (ou suivant) et retournent ces dates sous la forme d’une table à colonne unique. Les fonctions « précédentes » fonctionnent en arrière à partir de la première date dans le contexte actuel, et les fonctions « suivant » avancent à partir de la dernière date dans le contexte actuel.

Les quatre fonctions suivantes de cette catégorie sont similaires, mais au lieu de calculer une période précédente (ou suivante), elles calculent l’ensemble de dates dans la période qui est « mois à ce jour » (ou trimestre à ce jour, ou année à ce jour, ou dans la même période de l’année précédente). Ces fonctions effectuent toutes leurs calculs à l’aide de la dernière date dans le contexte actuel. Notez que SAMEPERIODLASTYEAR nécessite que le contexte actuel contienne un ensemble contigu de dates. Si le contexte actuel n’est pas un ensemble contigu de dates, SAMEPERIODLASTYEAR retourne une erreur.

Les quatre dernières fonctions de cette catégorie sont un peu plus complexes et un peu plus puissantes. Ces fonctions sont utilisées pour passer du jeu de dates qui se trouvent dans le contexte actuel à un nouvel ensemble de dates.

  • DATEADD (Date_Column, Number_of_Intervals, Interval)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)

DATESBETWEEN calcule l’ensemble des dates comprises entre la date de début et la date de fin spécifiées. Les trois fonctions restantes déplacent un certain nombre d’intervalles de temps du contexte actuel. L’intervalle peut être jour, mois, trimestre ou année. Ces fonctions permettent de déplacer facilement l’intervalle de temps d’un calcul en fonction de l’un des éléments suivants :

  • Retour deux ans

  • Retour un mois

  • Aller de l’avant trois quarts

  • Retour 14 jours

  • Aller de l’avant 28 jours

Dans chaque cas, vous devez uniquement spécifier l’intervalle et le nombre de ces intervalles à décaler. Un intervalle positif avancera dans le temps, tandis qu’un intervalle négatif reculera dans le temps. L’intervalle lui-même est spécifié par un mot clé de JOUR, MOIS, TRIMESTRE ou ANNÉE. Ces mots clés ne sont pas des chaînes, donc ils ne doivent pas être entre guillemets.

Fonctions qui évaluent des expressions sur une période de temps

Cette catégorie de fonctions évalue une expression sur une période spécifiée. Vous pouvez accomplir la même chose à l’aide de CALCULATE et d’autres fonctions time intelligence. Par exemple,

= TOTALMTD (Expression, Date_Column [, SetFilter])

est exactement identique à ce qui suit :

= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])

Toutefois, il est plus facile d’utiliser ces fonctions time-intelligence lorsqu’elles sont adaptées au problème qui doit être résolu :

  • TOTALMTD (Expression, Date_Column [, SetFilter])

  • TOTALQTD (Expression, Date_Column [, SetFilter])

  • TOTALYTD (Expression, Date_Column [, SetFilter] [,YE_Date]) *

Cette catégorie comporte également un groupe de fonctions qui calculent les soldes d’ouverture et de fermeture. Il existe certains concepts que vous devez comprendre avec ces fonctions particulières. Tout d’abord, comme vous pouvez le penser, le solde d’ouverture pour une période est identique au solde de clôture de la période précédente. Le solde de clôture inclut toutes les données jusqu’à la fin de la période, tandis que le solde d’ouverture n’inclut aucune donnée de la période actuelle.

Ces fonctions retournent toujours la valeur d’une expression évaluée pour un point spécifique dans le temps. Le point dans le temps qui nous intéresse est toujours la dernière valeur de date possible dans une période de calendrier. Le solde d’ouverture est basé sur la dernière date de la période précédente, tandis que le solde de clôture est basé sur la dernière date de la période en cours. La période actuelle est toujours déterminée par la dernière date dans le contexte de date actuelle.

Ressources supplémentaires

Articles : Comprendre et créer des tables de dates dans Power Pivot dans Excel

Référence : Référence de la fonction DAXsur Office.com

Exemples : Modélisation et analyse des données sur les bénéfices et pertes avec Microsoft PowerPivot dans Excel

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.