Power BI DAX Tutorial: Year-over-Year (YoY) Growth berechnen
Hier ist ein umfassendes Tutorial, wie du das Year-over-Year (YoY) Growth (Vorjahresvergleich) in Power BI mithilfe von DAX berechnest.
Die Berechnung des Wachstums im Vergleich zum Vorjahr ist eine der wichtigsten Kennzahlen in der Business Analytics. Sie hilft dabei, saisonale Effekte zu eliminieren und die tatsächliche Performance zu bewerten.
Voraussetzungen
Damit die Zeitintelligenz-Funktionen (Time Intelligence) in DAX korrekt funktionieren, benötigst du:
- Eine Fact-Table (z. B. Verkäufe) mit einer Datumsspalte.
- Eine separate Kalendertabelle (
Date Table), die alle Tage lückenlos enthält.
Schritt 1: Basis-Measure erstellen (Total Sales)
Bevor wir das Wachstum berechnen, benötigen wir die Summe des aktuellen Zeitraums.
Total Sales = SUM(Sales[SalesAmount])
Schritt 2: Den Vorjahreswert berechnen (Sales LY)
Um den Vergleichswert aus dem Vorjahr zu erhalten, nutzen wir die Funktion SAMEPERIODLASTYEAR. Diese Funktion schaut auf den aktuellen Filterkontext (z. B. Monat oder Quartal) und springt genau ein Jahr zurück.
Sales LY =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date])
)
Alternative (falls du flexibler sein willst):
DATEADD('Date'[Date], -1, YEAR) führt zum gleichen Ergebnis.
Schritt 3: Das YoY-Wachstum absolut berechnen
Dies ist die einfache Differenz zwischen dem aktuellen Wert und dem Vorjahr.
YoY Growth Absolute = [Total Sales] - [Sales LY]
Schritt 4: Das YoY-Wachstum in Prozent berechnen
Dies ist die wichtigste Kennzahl. Hierbei ist es wichtig, die DIVIDE-Funktion zu nutzen, um Fehler bei einer Division durch Null (z. B. wenn es im Vorjahr keine Verkäufe gab) zu vermeiden.
YoY Growth % =
DIVIDE(
[YoY Growth Absolute],
[Sales LY],
0
)
Wichtig: Formatiere dieses Measure im Tab "Formatierung" oben in Power BI als Prozent (%).
Schritt 5: Visualisierung
Um die Kennzahlen sichtbar zu machen:
- Wähle ein Line Chart (Liniendiagramm) oder ein Bar Chart (Balkendiagramm).
- Ziehe das
Datum(Jahr oder Monat) aus deiner Kalendertabelle in die X-Achse. - Ziehe
Total SalesundSales LYin die Y-Achse, um sie direkt zu vergleichen. - Nutze eine Card (Karte) für das
YoY Growth %, um den Gesamtwert anzuzeigen.
Profi-Tipp: Die "Total-YTD"-Kombination
Oft möchte man das Wachstum der bisherigen Jahreswerte (Year-To-Date) vergleichen. So berechnest du das Vorjahres-YTD:
Sales LY YTD =
CALCULATE(
[Total Sales],
SAMEPERIODLASTYEAR('Date'[Date]),
TOTALYTD('Date'[Date], 'Date'[Date])
)
Zusammenfassung der Logik
- Total Sales: Was ist heute passiert?
- Sales LY: Was passierte am gleichen Tag/Zeitraum letztes Jahr?
- DIVIDE: Wie groß ist der prozentuale Unterschied?
Fehlerbehebung (Troubleshooting)
- Falsche Zahlen? Prüfe, ob deine Kalendertabelle als "Datentabelle markiert" ist (
Mark as Date Table). - Leere Werte? Das passiert oft, wenn das Datum in der Verkaufstabelle nicht mit der Kalendertabelle verknüpft ist (Beziehung prüfen!).
- Zukunftswerte? Wenn dein Kalender bis zum Ende des Jahres geht, die Verkäufe aber heute stoppen, zeigt Power BI oft einen Drop an. Nutze eine
IF-Abfrage mitMAX(Sales[Date]), um die Berechnung auf heute zu begrenzen.