Power Pivot – Time IntelligenceGleitende Zeiträume mit DATESINPERIOD analysieren

Rollierende und kumulierte Werte berechnen Sie in Power Pivot als sogenannte Rolling Periods mit der DAX-Funktion DATESINPERIOD. So gehen Sie vor.

Rollierende Datenanalyse

Zeitreihen sind das Herzstück jeder betriebswirtschaftlichen Analyse. Egal ob Umsatz, Absatz oder Kosten – in der Praxis interessiert selten nur der einzelne Monat oder das abgeschlossene Jahr.

Viel spannender ist die Frage: Wie entwickelt sich eine Kennzahl im Zeitverlauf?

Genau dafür sind sogenannte Rolling Periods (auf Deutsch: gleitende Zeiträume) da. Mit Rolling Periods können Sie Trends über einen fortlaufenden Zeitraum hinweg betrachten, etwa den Umsatz der letzten 12 Monate oder den Durchschnitt der letzten 6 Monate.

Sie zeigen also nicht nur Momentaufnahmen, sondern liefern ein laufendes Bild Ihrer Unternehmensentwicklung – ideal für Forecasts, Trendanalysen und die strategische Steuerung.

Warum Rolling Periods wichtig sind

Ein Beispiel: Sie betrachten die Umsätze nach Kalenderjahren. Dann springt Ihre Analyse jedes Jahr am 1. Januar auf null – Sie verlieren den Zusammenhang zwischen Dezember und Januar.

Rolling Periods dagegen verschieben das Analysefenster kontinuierlich. Zum Beispiel:

  • Rolling 12 Months (R12M): zeigt die Summe der letzten 12 Monate – unabhängig davon, in welchem Monat Sie sich befinden.
  • Rolling 3 Months (R3M): bildet den Durchschnitt der letzten drei Monate – ideal für kurzfristige Entwicklungen.
  • Rolling 52 Weeks: erfasst den Umsatz über die letzten 52 Wochen – oft genutzt im Handel.

Dadurch erkennen Sie langfristige Trends, Saisoneffekte und strukturelle Veränderungen viel besser als mit klassischen Jahresvergleichen.

Voraussetzungen im Datenmodell

Damit Rolling-Berechnungen in Power Pivot funktionieren, muss Ihr Datenmodell richtig vorbereitet sein:

  • Lückenlose Kalendertabelle: Ihre Datumstabelle muss wirklich jeden Tag enthalten. Nur dann funktionieren Zeitverschiebungen korrekt.
  • Beziehung zur Faktentabelle: Die Kalendertabelle (zum Beispiel Kalendertabelle[Datum]) muss über eine Beziehung mit dem Datumsfeld der Faktentabelle (zum Beispiel der Tabelle mit den Bestellungen, tbl_Bestellungen[Bestelldatum]) verbunden sein.
  • Ein vorhandenes Basis-Measure: Rolling-Berechnungen bauen auf einem vorhandenen Measure wie [Umsatz] oder [Kosten] auf.

Wenn diese Voraussetzungen erfüllt sind, können Sie DAX-Zeitfunktionen wie DATESINPERIOD, CALCULATE oder AVERAGEX ohne Einschränkungen nutzen.

Die Schlüsselrolle von DATESINPERIOD

Die DAX-Funktion DATESINPERIOD ist das Herzstück aller Rolling-Analysen. Sie erzeugt ausgehend vom aktuellen Filterkontext eine dynamische Datumsmenge über einen bestimmten Zeitraum hinweg – also beispielsweise alle Tage der letzten 12 Monate.

Die Syntax lautet:

DATESINPERIOD(<Dates>, <StartDate>, <NumberOfIntervals>, <Interval>)

Die Parameter bedeuten:

  • Dates: die Datenspalte Ihrer Kalender-Tabelle, zum Beispiel Kalendertabelle[Datum].
  • StartDate: das Startdatum, meist MAX(Kalender[Datum]), also das letzte sichtbare Datum.
  • NumberOfIntervals: die Anzahl der Intervalle; zum Beispiel -12 für die letzten 12 Monate.
  • Interval: die Zeiteinheit; zum Beispiel DAY, MONTH, QUARTER oder YEAR.

Ein Beispiel für die Syntax ist:

DATESINPERIOD(Kalendertabelle[Datum]; MAX(Kalendertabelle[Datum]); -12; MONTH)

Diese Formel erzeugt eine virtuelle Tabelle, die alle Datumswerte der letzten 12 Monate umfasst – gerechnet vom jeweils aktuell sichtbaren Datum zurück.

Beispiel 1 für DATESINPERIOD

Das wohl häufigste Anwendungsbeispiel ist der rollierende 12-Monats-Umsatz (Rolling Period), oft auch R12M genannt:

Umsatz R12M :=CALCULATE([Umsatz]; DATESINPERIOD(Kalendertabelle[Datum]; MAX(Kalendertabelle[Datum]); -12; MONTH))

Rollierende Berechnung des Umsatzes als DAX-Formel in Power Pivot

Was passiert hier genau?

  • MAX(Kalender[Datum]) ermittelt das aktuell letzte Datum im Filterkontext (zum Beispiel das Ende des aktuell sichtbaren Monats).
  • DATESINPERIOD erzeugt eine Liste aller Datumswerte der letzten 12 Monate.
  • CALCULATE ersetzt den bisherigen Filterkontext durch diesen Zeitraum und berechnet das Measure [Umsatz] auf Basis dieses Zeitraums.
  • Das Ergebnis: Für jeden Monat sehen Sie den Umsatz der letzten 12 Monate kumuliert. So lassen sich saisonale Schwankungen und längerfristige Trends hervorragend ablesen.

In der folgenden Abbildung erkennen Sie, dass der kumulierte Umsatz von einschließlich Februar 2024 bis Januar 2025 (12 Monate) 165.790,00 EUR beträgt.

Pivot-Tabelle mit den rollierenden Umsätzen für genau 12 Monate

Beispiel 2: Rolling 3 Months – kurzfristige Trends erkennen

Möchten Sie kürzere Zeiträume betrachten, können Sie den Parameter einfach anpassen:

UmsatzR3M:= CALCULATE([Umsatz]; DATESINPERIOD(Kalendertabelle[Datum]; MAX(Kalendertabelle[Datum]); -3; MONTH))

Rollierende Berechnung des Umsatzes für 3 Monate

Dieses Measure summiert den Umsatz der letzten drei Monate und eignet sich besonders gut für kurzfristige Trend- oder Absatzanalysen.

Pivot-Tabelle mit den rollierenden Umsätzen für 3 Monate

Beispiel 3: Durchschnittswerte über einen rollierenden Zeitraum

Rolling-Berechnungen sind nicht auf Summen beschränkt. Mit AVERAGEX lassen sich zum Beispiel gleitende Durchschnittswerte bilden:

UmsatzØR12M:= AVERAGEX(DATESINPERIOD(Kalendertabelle[Datum]; MAX(Kalendertabelle[Datum]); -12; MONTH);[Umsatz])

Rollierender Durchschnitt für 12 Monate mit AVERAGEX

Hier läuft AVERAGEX jede Zeile (also jeden Tag oder Monat) des 12-Monats-Zeitraums durch und bildet daraus den Durchschnitt des Umsatz-Measures. Das ist besonders nützlich, wenn Sie Umsatzschwankungen glätten möchten.

Ergebnis: Der rollierende durchschnittliche Tagesumsatz für die letzten 12 Monate

Rolling Periods vs. Year-to-Date – wo liegt der Unterschied?

Rolling Periods werden oft mit Year-to-Date-(YTD-)Analysen verwechselt. Beide betrachten kumulierte Werte, aber aus unterschiedlichen Perspektiven:

MerkmalRolling PeriodYear-to-Date (YTD)
ZeitraumGleitendes Fenster (zum Beispiel letzte 12 Monate)Vom Jahresanfang bis zum aktuellen Datum
Saisonale WirkungGlättet saisonale EffekteAbhängig vom Kalenderjahr
Typische AnwendungTrend- und Forecast-AnalysenJahresvergleiche und Berichterstattung
BeispielUmsatz der letzten 12 MonateUmsatz seit 1. Januar des Jahres

Rolling-Analysen geben also ein bewegliches Bild Ihrer Entwicklung, während YTD-Analysen eine statische Sicht innerhalb eines Geschäftsjahres bieten.

Tipps für die Praxis

  • Achten Sie auf vollständige Kalenderdaten: Wenn in Ihrer Kalendertabelle Tage fehlen, liefert DATESINPERIOD unvollständige oder falsche Ergebnisse.
  • Denken Sie an Performance: Rolling-Berechnungen mit langen Zeiträumen (zum Beispiel 36 Monate) können bei sehr großen Datensätzen rechenintensiv sein. Prüfen Sie, ob Sie stattdessen aggregierte Monatsdaten verwenden können.
  • Kombinieren Sie Rolling- und Vergleichs-Measures: Besonders aussagekräftig wird die Analyse, wenn Sie zusätzlich die prozentuale Veränderung zur vorherigen Rolling-Periode ausgeben.

Fazit

Mit Rolling-Analysen können Sie Veränderungen im Zeitverlauf wesentlich besser verstehen.

Anstatt sich auf Jahresabschlüsse zu konzentrieren, erhalten Sie eine fortlaufende, dynamische Sicht auf Ihre Daten – genau das, was moderne Business-Analysen verlangen.

Die Funktion DATESINPERIOD ist dabei der Schlüssel: Sie kombiniert sich nahtlos mit CALCULATE, SUM, AVERAGEX und anderen DAX-Funktionen.

Damit erstellen Sie flexible, aussagekräftige Kennzahlen wie Umsatz der letzten 12 Monate, Durchschnitt der letzten 6 Monate oder rollierendes EBIT.

Rolling-Period-Analysen sind das Fundament vieler professioneller Dashboards und Geschäftsberichte – und dank DAX in Power Pivot einfach umzusetzen.

Dazu im Management-Handbuch

Vorlagen nutzen

Weitere Kapitel zum Thema