Power Pivot – Time IntelligenceSchneller Datenvergleich mit der Vorperiode oder Folgeperiode

Wie Sie mit PREVIOUSMONTH, NEXTMONTH, PREVIOUSQUARTER, NEXTQUARTER, PREVIOUSYEAR und NEXTYEAR Zeitvergleiche durchführen und Entwicklungen im Zeitverlauf präzise analysieren.

Warum Zeitvergleiche unverzichtbar sind

Zeitvergleiche sind das Herzstück vieler Controlling- und Reporting-Analysen. Ob Umsatz, Kosten, Bestellungen oder Kundenentwicklung – meist geht es darum, aktuelle Werte mit denen der Vorperiode oder des Vorjahres zu vergleichen.

In Power Pivot stehen Ihnen dafür mehrere leistungsfähige DAX-Time-Intelligence-Funktionen zur Verfügung:

  • PREVIOUSMONTH und NEXTMONTH für Monatsvergleiche
  • PREVIOUSQUARTER und NEXTQUARTER für Quartalsvergleiche
  • PREVIOUSYEAR und NEXTYEAR für Jahresvergleiche

Mit diesen Funktionen erstellen Sie in wenigen Schritten dynamische Zeitvergleiche, ohne umständliche manuelle Filter oder Hilfsspalten. Sie erkennen auf einen Blick, ob sich Ihre Kennzahlen verbessern, stagnieren oder rückläufig entwickeln – und das auf Monats-, Quartals- oder Jahresebene.

Sie beantworten schnell und einfach Fragen wie:

  • Wie stark ist der Umsatz im Februar gegenüber Januar gestiegen oder gefallen?
  • Welche Produkte oder Geschäftsbereiche haben sich im letzten Quartal positiv entwickelt?
  • Wie steht das aktuelle Geschäftsjahr im Vergleich zum Vorjahr da?

Grundprinzip der Zeitverschiebung in DAX

Alle sechs Funktionen arbeiten nach demselben Prinzip:

  • Sie greifen auf Ihre Kalendertabelle zu, die über eine Beziehung mit Ihrer Faktentabelle (zum Beispiel mit der Liste aller Bestellungen in der Tabelle tbl_Bestellungen) verknüpft ist.
  • Diese Kalendertabelle bestimmt, welcher Zeitraum im aktuellen Filterkontext aktiv ist, und ermöglicht es DAX, den Zeitraum automatisch zu verschieben.
  • PREVIOUSMONTH: verschiebt den Filterkontext um einen Monat zurück
  • NEXTMONTH: verschiebt den Filterkontext um einen Monat nach vorne
  • PREVIOUSQUARTER / NEXTQUARTER: verschieben den Kontext um ein Quartal
  • PREVIOUSYEAR / NEXTYEAR: verschieben den Kontext um ein ganzes Jahr

Damit entfällt das manuelle Arbeiten mit Datenschnitten oder Filtern – DAX erledigt die Zeitverschiebung für Sie.

Syntax und Bedeutung

Die DAX-Funktion: PREVIOUSMONTH(<Dates>) gibt alle Datumswerte des vorherigen Monats relativ zum aktuellen Filterkontext zurück. Im Kontext Februar 2024 liefert die Funktion alle Datumswerte des Januars 2024.

Entsprechendes gilt für die DAX-Funktion: NEXTMONTH(<Dates>). Sie gibt alle Datumswerte des nächsten Monats zurück. Im Kontext Februar 2024 liefert sie alle Datumswerte des März 2024.

Das gleiche Prinzip gilt für die anderen Funktionen:

  • PREVIOUSQUARTER(<Dates>) → vorangegangenes Quartal
  • NEXTQUARTER(<Dates>) → folgendes Quartal
  • PREVIOUSYEAR(<Dates>) → Vorjahr
  • NEXTYEAR(<Dates>) → Folgejahr

Beispiel: Umsatz des Vormonats berechnen

Ein typisches Measure lautet:

Umsatz Vormonat :=CALCULATE([Umsatz]; PREVIOUSMONTH(Kalendertabelle[Datum]))

Funktionsweise:

  • CALCULATE berechnet den Umsatz [Umsatz] bei einem festgelegten Filterkontext.
  • PREVIOUSMONTH verschiebt die Datumswerte um einen Monat zurück und ist damit der Filterkontext für die Berechnung.
  • Anschließend summiert die Formel die Werte aus der DAX-Formel [Umsatz] und damit alle Transaktionen aus diesem Zeitraum.
Formel mit der DAX-Funktion PREVIOUSMONTH

Das Ergebnis: In der Zeile „Februar 2025“ zeigt die Pivot-Tabelle den Umsatz aus dem Januar 2025 an.

Ergebnis: Umsätze eines Monats im Vergleich mit dem Vormonat

Beispiel: Umsatz des Folgemonats

Entsprechend berechnen Sie mit der Formel:

Umsatz Folgemonat :=CALCULATE([Umsatz]; NEXTMONTH(Kalendertabelle[Datum]))

Formel mit der DAX-Funktion NEXTMONTH

Mit dieser Formel sehen Sie auf einen Blick, wie sich der Umsatz im Folgemonat entwickelt hat.

Ergebnis: Umsätze eines Monats im Vergleich mit dem Folgemonat

Gerade bei Forecast-Analysen ist das hilfreich, um die Entwicklung fortzuschreiben und Trends zu erkennen.

Beispiel: Prozentuale Veränderung zum Vormonat

Haben Sie bereits die Measures [Umsatz] und [Umsatz Vormonat] erstellt, können Sie ganz einfach die prozentuale Veränderung berechnen:

Umsatz Δ % Vormonat :=DIVIDE([Umsatz] - [Umsatz Vormonat]; [Umsatz Vormonat])

Erklärung:

  • Die Differenz [Umsatz] - [Umsatz Vormonat] liefert die absolute Abweichung.
  • Durch die Division mit dem Vormonatswert entsteht der prozentuale Unterschied.
  • Die Funktion DIVIDE verhindert Fehlermeldungen bei Division durch Null.

Tipp: Formatieren Sie das Measure als Prozentwert mit zwei Nachkommastellen – das sorgt für Übersichtlichkeit und eine schnelle Interpretation in Diagrammen oder Tabellen.

Kombination mit Rolling-Analysen

Die Funktionen können auch in Rolling-Analysen eingesetzt werden. Beispielsweise lässt sich der Umsatz der letzten 12 Monate bezogen auf den Vormonat berechnen.

Die DAX-Formel dazu lautet:

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

Damit analysieren Sie gleitende Entwicklungen im Vergleich zur Vergangenheit – eine wichtige Grundlage für Trend- oder Forecast-Berichte.

Was macht diese Formel – Schritt für Schritt?

Aktueller Kontext: Ihre Pivot-Zeile (zum Beispiel Februar 2025) bestimmt zunächst den Filterkontext der Kalendertabelle: Im Kontext „Februar 2025“ sind alle Tage des Monats Februar 2025 sichtbar.

PREVIOUSMONTH(Kalendertabelle[Datum]): Diese Funktion liefert eine Tabelle mit allen Datumswerten des Vormonats relativ zum aktuellen Kontext. Im Beispiel „Februar 2025“ ist das die Liste vom 1. bis 31. Januar 2025.

MAXX(<Table>, <Expression>):

  • MAXX() ist ein Iterator. Er nimmt eine Tabelle (hier: die von PREVIOUSMONTH gelieferten Datumszeilen) und wertet für jede Zeile einen Ausdruck aus (hier: Kalender[Datum]).
  • Anschließend gibt MAXX den größten der so berechneten Werte zurück. Kurz: „Iteriere über diese Tabelle und liefere mir den größten Datumseintrag.“
  • Warum MAXX (und nicht MAX)? MAX arbeitet nur direkt auf Spalten. Hier haben Sie aber eine Tabelle, die Datumsmenge des Vormonats, nicht eine einzelne Spalte. Deshalb brauchen Sie einen Iterator, der auf einer Tabellenrückgabe operieren kann.
  • Ergebnis von MAXX: Im Beispiel „Februar 2025“ liefert MAXX(PREVIOUSMONTH(Kalendertabelle[Datum]); Kalendertabelle[Datum]) den letzten Tag des Vormonats, also 31.01.2025.

DATESINPERIOD(...): Jetzt nutzen Sie das von MAXX gefundene Enddatum als StartDate für DATESINPERIOD. Mit -12, MONTH erzeugt DATESINPERIOD eine Datumsmenge der letzten 12 Monate, einschließlich dieses Enddatums.

Für 31.01.2025 entspricht das dem Zeitraum 01.02.2024 bis 31.01.2025 (bei lückenloser Datumstabelle).

CALCULATE([Umsatz]; …): CALCULATE setzt diese Datumsmenge als neuen Filterkontext und berechnet darauf Ihr Measure [Umsatz].

Ergebnis: rollierender 12-Monats-Umsatz, aber bezogen auf den Vormonat, nicht auf den aktuellen Monat.

Häufige Stolperfallen

  • Lücken im Kalender: Ihre Kalendertabelle muss vollständig und lückenlos sein – sonst berechnet DAX falsche Ergebnisse.
  • Mehrjährige Analysen: Bei Analysen über mehrere Jahre sollten Sie die Jahresspalte in der Pivot-Tabelle immer einbeziehen, damit DAX weiß, ob der „Vormonat“ im gleichen oder im vorherigen Jahr liegt.
  • Monatslogik beachten: Die Funktionen PREVIOUSMONTH und NEXTMONTH beziehen sich ausschließlich auf Monate.
  • Für Quartale und Jahre nutzen Sie die analogen Funktionen.

Praktischer Nutzen im Controlling

Angenommen, Sie analysieren den monatlichen Energieverkauf in verschiedenen Regionen:

Mit [Umsatz], [Umsatz Vormonat] und [Umsatz Δ % Vormonat] können Sie sofort erkennen,

  • wo Absatzrückgänge bestehen,
  • welche Märkte wachsen und
  • ob saisonale Schwankungen Ihre Ergebnisse beeinflussen.

Diese Informationen sind entscheidend für Preisstrategien, Marketingaktionen oder Investitionsentscheidungen.

Fazit

Mit PREVIOUSMONTH, NEXTMONTH, PREVIOUSQUARTER, NEXTQUARTER, PREVIOUSYEAR und NEXTYEAR bietet DAX Ihnen ein leistungsfähiges Set an Funktionen, um Zeiträume dynamisch zu vergleichen.

Sie verschieben den Filterkontext automatisch, erhalten präzise Monats-, Quartals- und Jahresvergleiche, und können Wachstumsraten oder Veränderungen direkt berechnen.

Diese Funktionen sind ein zentraler Bestandteil professioneller Power-Pivot-Modelle. Sie ermöglichen Ihnen, Trends, Saisonalitäten und Entwicklungen klar zu erkennen – ganz ohne komplexe Formeln oder manuelle Eingriffe.

Dazu im Management-Handbuch

Vorlagen nutzen

Weitere Kapitel zum Thema