Maîtriser SAMEPERIODLASTYEAR DAX pour l’analyse YoY
La fonction SAMEPERIODLASTYEAR est l’outil indispensable pour comparer vos indicateurs de performance sur une année glissante dans Power BI. Elle permet d’extraire automatiquement la période équivalente de l’année précédente, facilitant ainsi l’analyse des tendances et des variations annuelles (YoY). Sans cette fonction, les analystes doivent manipuler manuellement des plages de dates, ce qui est source d’erreurs et de lenteur dans le contrôle de gestion.
Comprendre la syntaxe et le rôle de SAMEPERIODLASTYEAR en modélisation financière
Dans un contexte métier concret, comme le pilotage du chiffre d’affaires ou l’analyse des coûts, la capacité de comparer les données actuelles à celles de l’année précédente est cruciale. La fonction SAMEPERIODLASTYEAR retourne une table contenant une colonne de dates décalée d’un an en arrière, dans le contexte actuel. Sa syntaxe est simple et directe, ce qui la rend accessible même aux débutants en DAX.
La syntaxe officielle de la fonction est la suivante :
SAMEPERIODLASTYEAR(<dates>)
Le paramètre dates doit être une colonne contenant des dates, une table à colonne unique de dates, ou une référence de calendrier. Les dates retournées correspondent exactement à la même période de l’année précédente, selon le contexte de filtrage en cours. En interne, cette fonction correspond à l’appel de DATEADD(dates, -1, YEAR).
Pour intégrer cette fonction dans vos rapports, voici les étapes clés à suivre pour une mise en œuvre efficace :
- Préparer une table de dates (calendrier) bien structurée, indispensable pour toutes les analyses temporelles
- Créer une mesure simple qui calcule la somme des montants de vos ventes (ex :
Chiffre d'affaires = SUM('Commandes'[Montant])) - Créer une nouvelle mesure utilisant
CALCULATEcombiné àSAMEPERIODLASTYEARpour filtrer les données sur la période équivalente de l’année passée - Visualiser et comparer les données côte à côte dans un tableau ou un graphique pour faciliter la lecture
Exemple concret : Calcul du chiffre d’affaires de l’année précédente
Prenons l’exemple d’un directeur financier qui souhaite analyser la performance de son entreprise sur le mois de mars. Il a besoin de comparer les ventes de mars 2026 avec celles de mars 2025. La fonction SAMEPERIODLASTYEAR lui permet de créer une mesure nommée « CA N-1 » sans avoir à définir manuellement la plage de dates.
La mesure se construit ainsi :
CA N-1 = CALCULATE(SUM('Commandes'[Montant]), SAMEPERIODLASTYEAR('Calendrier'[Date]))
Cette mesure décale automatiquement les dates pour récupérer les valeurs de l’année précédente. Vous pouvez ensuite intégrer cette mesure dans un tableau avec les colonnes : Année, Chiffre d’affaires, et Chiffre d’affaires N-1. Cela permet de constater immédiatement l’évolution des ventes et de détecter les tendances de croissance ou de ralentissement.
Pour approfondir vos connaissances sur les fonctions d’intelligence temporelle, consultez la documentation officielle de Microsoft Learn qui détaille les spécificités de SAMEPERIODLASTYEAR.
Bonnes pratiques et erreurs fréquentes à éviter avec SAMEPERIODLASTYEAR
L’utilisation de la fonction SAMEPERIODLASTYEAR nécessite de respecter certaines règles pour éviter des résultats incohérents. La première erreur courante est de ne pas disposer d’une table de dates continue et bien structurée. Si votre calendrier contient des trous (dates manquantes), la fonction ne peut pas calculer correctement la période équivalente de l’année précédente.
Une autre erreur fréquente est l’oubli de la fonction CALCULATE. La fonction SAMEPERIODLASTYEAR retourne une table de dates, mais ne modifie pas directement le contexte de calcul. Il est donc impératif de l’utiliser dans une mesure avec CALCULATE pour appliquer le filtre de date correct.
Les analystes doivent également vérifier que la colonne de dates utilisée est bien de type « Date » et non « Texte ». Une colonne de type texte peut entraîner des erreurs de calcul ou des résultats nuls. Enfin, assurez-vous que le contexte de filtrage (segments, hiérarchies) est bien défini pour que la fonction retourne la période exacte souhaitée.
Pour optimiser vos modèles de données et améliorer la qualité de vos informations, découvrez comment l’intelligence artificielle peut vous aider à nettoyer et structurer vos données, comme expliqué dans l’article sur IA & Qualité des données.
Si vous souhaitez passer d’Excel statique à des modèles connectés à la donnée pour une modélisation financière plus robuste, explorez les solutions de modélisation financière connectée.
Conclusion
La fonction SAMEPERIODLASTYEAR est un levier puissant pour l’analyse de performance et le contrôle de gestion. Elle simplifie la comparaison des données sur une année glissante, éliminant les manipulations manuelles de dates. En maîtrisant sa syntaxe et ses bonnes pratiques, les analystes financiers peuvent produire des rapports plus fiables et plus rapides. Appliquez dès maintenant cette méthode sur votre tableau de bord Power BI pour visualiser l’évolution de vos indicateurs clés.
FAQ
Quelle est la différence entre SAMEPERIODLASTYEAR et DATEADD ?
SAMEPERIODLASTYEAR est une fonction spécifique d’intelligence temporelle qui retourne automatiquement la même période de l’année précédente, tandis que DATEADD est une fonction plus générale qui nécessite un paramètre de décalage explicite (ex: -1, YEAR).
Pourquoi ma mesure avec SAMEPERIODLASTYEAR retourne-t-elle 0 ?
Cela est souvent dû à l’absence d’une table de dates continue ou à un oubli de la fonction CALCULATE, ce qui empêche le filtre de date de s’appliquer correctement au calcul de la somme.