Promotion pour les nouveaux apprenants : -20 % sur toutes nos formations et abonnements avec le code MEFORMER20

🕒 Power BI : Comprendre la fonction SAMEPERIODLASTYEAR en DAX

Dans le monde de la business intelligence, l’analyse temporelle est cruciale. L’une des fonctions les plus puissantes pour comparer les données d’une année sur l’autre dans Power BI est SAMEPERIODLASTYEAR. Cet article vous explique tout ce que vous devez savoir pour l’utiliser efficacement dans vos rapports Power BI.

🔍 Qu’est-ce que la fonction SAMEPERIODLASTYEAR ?

La fonction SAMEPERIODLASTYEAR() est une fonction DAX (Data Analysis Expressions) qui permet de calculer la même période de l’année précédente à partir d’un contexte de dates. Elle est très utilisée pour construire des indicateurs comme :

  • Ventes année N vs N-1

  • Évolution du chiffre d’affaires

  • Comparaison de KPIs dans les dashboards temporels

Exemple simple :

DAX
 
Ventes N-1 = CALCULATE(SUM('Ventes'[Montant]), SAMEPERIODLASTYEAR('Date'[Date]))

Cette formule retourne les ventes à la même période l’an dernier, en fonction du filtre temporel actif.

📌 Pourquoi utiliser SAMEPERIODLASTYEAR dans Power BI ?

1. Analyse comparative d’année à année (YoY)

Comparer les performances sur une base annuelle est indispensable pour identifier les tendances, saisonnalités, ou anomalies dans vos données.

2. Fonction intuitive et puissante

Contrairement à des fonctions comme DATEADD ou PARALLELPERIOD, SAMEPERIODLASTYEAR est spécialement conçue pour le décalage annuel, ce qui la rend plus lisible et directe.

3. Utilisation dans des visuels dynamiques

Elle fonctionne parfaitement avec les slicers de dates, les courbes temporelles et les matrices dans vos dashboards Power BI.

⚠️ Prérequis : la table calendrier

Pour que SAMEPERIODLASTYEAR fonctionne correctement, vous devez disposer d’une table de dates complète (sans saut de dates) et marquée comme table de dates dans votre modèle.

Astuce :

Assurez-vous que votre table contient toutes les dates nécessaires et qu’elle est bien reliée à vos données de faits via une relation de type “date”.

🎓 Cas pratiques courants

Comparaison des ventes mensuelles YoY

DAX
 
CA Mois N = SUM('Ventes'[Montant])
CA Mois N-1 = CALCULATE([CA Mois N], SAMEPERIODLASTYEAR('Date'[Date]))
Variation YoY = [CA Mois N] - [CA Mois N-1]

Analyse cumulée d’année à année

DAX
 
CA YTD N-1 = CALCULATE([CA YTD], SAMEPERIODLASTYEAR('Date'[Date]))

Cela permet de suivre l’évolution cumulée mois par mois comparée à l’an passé.

🎯 Bonnes pratiques d’utilisation

  • Utilisez toujours une table calendrier dédiée, avec colonnes Year, Month, Quarter.

  • Combinez SAMEPERIODLASTYEAR avec CALCULATE pour obtenir des résultats dynamiques.

  • Vérifiez que le contexte de filtre est cohérent (évitez les filtres en double).

  • Évitez d’utiliser cette fonction sans contexte de dates explicite.

❌ Erreurs fréquentes à éviter

  • Absence de table calendrier : la fonction ne retournera rien ou des erreurs.

  • Dates manquantes dans le calendrier : la correspondance avec l’année précédente échouera.

  • Problèmes de granularité : veillez à adapter l’analyse (jour/mois/trimestre) à vos besoins.

✅ Avantages de SAMEPERIODLASTYEAR

AvantageDétail
Facilité d’usageSyntaxe simple, facile à mémoriser
Intégration fluideCompatible avec visuels Power BI
Spécialisée pour YoYÉvite les erreurs de décalage manuel

📽️ Ressource complémentaire : Vidéo tutoriel Power BI

Découvrez une démonstration complète et pratique sur notre chaîne :
👉 Lien vers la vidéo sur SAMEPERIODLASTYEAR

Vous y apprendrez :

  • Comment construire des mesures comparatives N/N-1

  • Corriger les erreurs de contexte

  • Créer des dashboards interactifs avec cette fonction

🧠 En résumé

La fonction SAMEPERIODLASTYEAR est indispensable pour l’analyse temporelle dans Power BI. Bien utilisée, elle permet de comparer intelligemment les données d’une période à l’année précédente, de détecter des tendances, et de créer des rapports dynamiques et professionnels.

Découvrez nos formations en ligne

Nouveaux apprenants : -20 % sur nos formations avec le code MEFORMER20