top of page
9d657493-a904-48e4-b46b-e08acb544ddf.png

BEITRÄGE

Wie man eine korrekte Datumstabelle in Power BI erstellt

  • Autorenbild: MirVel
    MirVel
  • vor 1 Tag
  • 5 Min. Lesezeit

Einführung

Viele Power BI-Berichte sehen auf den ersten Blick gut aus, funktionieren aber nicht mehr, sobald man die Logik für das laufende Jahr (YTD), das Vorjahr oder den Monatsvergleich hinzufügt. In den meisten Fällen liegt das Problem nicht an den Kennzahlen, sondern an der Kalendertabelle. In dieser Anleitung erstellen Sie Schritt für Schritt eine korrekte Datumstabelle, verstehen, welche Spalten wirklich wichtig sind, und sehen, wie ein übersichtlicher Kalender Ihre DAX-Abfragen vereinfacht, sicherer macht und die Wiederverwendung in verschiedenen Berichten erleichtert.


Wie man in Power BI eine Datumstabelle erstellt – mit anschaulichen Grafiken, einer Beispiel-Datumstabelle und Vorteilen wie Konsistenz und Genauigkeit.
Build a proper Power BI Date table.

Warum das wichtig ist

Die Zeitintelligenz in Power BI funktioniert am besten, wenn Ihr Modell über eine dedizierte und fortlaufende Datumstabelle verfügt. Die Verwendung einer Transaktionsdatumsspalte aus einer Faktentabelle führt häufig zu Lücken, fehlenden Monaten, ungenauen Sortierungen und Kennzahlen, die sich in Visualisierungen inkonsistent verhalten. Eine separate Kalendertabelle löst dieses Problem, indem sie Ihrem Modell eine einzige, verlässliche Quelle für alle datumsbezogenen Logiken bietet.

Dies ist besonders wichtig, wenn Sie aktuelle Umsätze mit denen des Vorjahres vergleichen, Finanzlogik erstellen, nach Monatsnamen filtern oder einen Bericht erstellen möchten, der auch dann stabil bleibt, wenn an einigen Tagen keine Transaktionen vorliegen. Eine korrekte Datumstabelle ist nicht nur eine bewährte Methode, sondern eine der Grundlagen eines zuverlässigen Power BI-Modells.

  • Es stellt DAX einen kontinuierlichen Datumsbereich zur Verfügung.

  • Es ermöglicht Ihnen, Monate und Quartale korrekt zu sortieren.

  • Es unterstützt wiederverwendbare Filter, Slicer und Zeitberechnungen.

  • Es sorgt für stabile Visualisierungen, selbst wenn in der Faktentabelle keine Zeilen für ein Datum vorhanden sind.

Schritt-für-Schritt-Lösung

Schritt 1: Erstellen der Basiskalendertabelle

Beginnen Sie mit einer separaten berechneten Tabelle in DAX. Definieren Sie für die meisten Geschäftsberichte einen Datumsbereich, der Ihre historischen Daten vollständig und mindestens die nahe Zukunft abdeckt. Dieser zukünftige Zeitraum ist nützlich für Budgetierung, Planung und Berichte, die auch im nächsten Monat noch funktionieren sollen, ohne dass das Modell erneut bearbeitet werden muss.

Ein einfacher und praktischer Ausgangspunkt ist diese Kalendertabelle:

Calendar =
ADDCOLUMNS(
    CALENDAR(DATE(2024,1,1), DATE(2026,12,31)),
    "Year", YEAR([Date]),
    "Month No", MONTH([Date]),
    "Month Name", FORMAT([Date], "MMMM"),
    "YearMonth", FORMAT([Date], "YYYY-MM"),
    "Quarter", "Q" & FORMAT([Date], "Q"),
    "Start of Month", DATE(YEAR([Date]), MONTH([Date]), 1),
    "End of Month", EOMONTH([Date], 0)
)

Verwenden Sie diese Funktion, wenn Sie einen schnellen, transparenten Kalender direkt im Modell benötigen. Die Tabelle lässt sich später problemlos um Spalten für Geschäftsjahre, Wochenlogik oder Kennzeichnungen wie aktueller und vorheriger Monat erweitern.

Schritt 2: Fügen Sie die Spalten hinzu, die Sie tatsächlich benötigen

Ein häufiger Fehler ist die Erstellung einer Datumstabelle, die nur Datum, Jahr und Monat enthält. Das mag für ein einfaches Diagramm ausreichen, stößt aber schnell an seine Grenzen. Fügen Sie daher von Anfang an die Spalten hinzu, die für Berichterstellung, Filterung, Sortierung und Kennzahlenlogik benötigt werden.

In den meisten Geschäftsmodellen sind diese Spalten besonders nützlich:

  • Jahr für Top-Vergleiche und Slicer.

  • Monatsnummer für die korrekte Sortierung.

  • Monatsname für lesbare Grafiken.

  • JahrMonat für kompakte Trendachsen und -tabellen.

  • Vierteljahr für Managementzusammenfassungen.

  • Monatsbeginn und -ende für Filterung, Planung und monatliche Logik.

Expertenhinweis: Wenn Ihr Unternehmen mit einem Geschäftsjahr arbeitet, das in einem anderen Monat als Januar beginnt, fügen Sie die Spalten für Geschäftsjahr und Geschäftsjahresperiode direkt in die Kalendertabelle ein, anstatt zu versuchen, diese Logik in jeder einzelnen Kennzahl nachträglich einzubauen.

Schritt 3: Markieren Sie es als offizielle Datumstabelle

Nachdem Sie die Tabelle erstellt haben, gehen Sie in Power BI Desktop zu den Tabellentools und wählen Sie „Als Datumstabelle markieren“. Wählen Sie anschließend die Spalte „Datum“ aus. Dieser Schritt legt fest, welche Spalte die Zeitanalysefunktionen steuern soll. Ohne diese Angabe funktioniert Ihr Modell zwar in einfachen Fällen möglicherweise noch, komplexere Berechnungen können jedoch unzuverlässig werden oder die Fehlersuche wird erschwert.

Stellen Sie außerdem sicher, dass die Beziehung zwischen Kalender und Faktentabelle aktiv ist, basierend auf dem korrekten Datumsfeld und idealerweise eine 1:n-Beziehung von Kalender zu Faktentabelle. Falls Ihre Faktentabelle mehrere Datumsspalten enthält, wählen Sie eine aktive Beziehung und verwenden Sie USERELATIONSHIP in spezifischen Measures nur bei Bedarf.

Schritt 4: Wiederverwendbare Zeitintelligenzmaßnahmen entwickeln

Sobald der Kalender eingerichtet ist, wird Ihr DAX-Code übersichtlicher. Anstatt manuelle Datumsfilter im gesamten Modell zu wiederholen, können Sie wiederverwendbare Measures schreiben, die auf derselben, zuverlässigen Tabelle basieren.

Sales =
SUM(Sales[Amount])

Sales YTD =
TOTALYTD([Sales], 'Calendar'[Date])

Sales PY =
CALCULATE(
    [Sales],
    SAMEPERIODLASTYEAR('Calendar'[Date])
)

Sales YoY % =
DIVIDE([Sales] - [Sales PY], [Sales PY])

Diese Kennzahlen sind einfach, verständlich und leicht zu überprüfen. Sie lassen sich auch bei wachsendem Umfang des Berichts gut skalieren. Anstatt für jede Visualisierung separate Logik zu implementieren, bleibt das Modell zentralisiert und vorhersehbar.

Häufiger Fehler: Monatsnamen aus der Faktentabelle oder einer Textspalte in einer nicht verbundenen Hilfstabelle verwenden. Dies führt oft zu Sortierproblemen und beeinträchtigt den Vergleich über verschiedene Jahre hinweg. Führen Sie Zeitanalysen immer anhand der Kalendertabelle durch.

Schritt 5: Überprüfen Sie das Ergebnis auf einer Berichtsseite.

Bevor Sie das Modell als fertig bezeichnen, validieren Sie es mit einem einfachen Bericht. Erstellen Sie ein Matrix- oder Liniendiagramm mit Jahr/Monat aus der Kalendertabelle auf der Achse und fügen Sie Umsatz, Umsatz seit Jahresbeginn und Umsatz im Vorjahr hinzu. Filtern Sie den Bericht anschließend auf einen begrenzten Zeitraum und prüfen Sie, ob sich Summen, monatliche Entwicklung und Jahresübergänge wie erwartet verhalten.

Diese schnelle Überprüfung deckt Kalenderprobleme frühzeitig auf. Wenn Zahlen unerwartet verschwinden, Monate alphabetisch sortiert werden oder das Jahresergebnis zum falschen Zeitpunkt zurückgesetzt wird, lässt sich das Problem in der Regel jetzt leichter beheben als nach der Veröffentlichung des Berichts.

Praktisches Beispiel

Stellen Sie sich vor, Sie haben eine einfache Verkaufstabelle mit drei Spalten: Bestelldatum, Produktkategorie und Betrag. Sie möchten in einem Bericht vier Fragen beantworten: Wie viel haben wir diesen Monat verkauft, wie hoch ist der Gesamtumsatz seit Jahresbeginn, wie verhält er sich zum Vorjahr und welche Kategorien verbessern oder verschlechtern sich?

Mit einer korrekten Datumstabelle ist die Einrichtung unkompliziert. Verknüpfen Sie Sales[OrderDate] mit Calendar[Date], verwenden Sie YearMonth aus dem Kalender auf der Achse, fügen Sie ProductCategory als Datenschnitt hinzu und platzieren Sie die vier Kennzahlen in Karten und Diagrammen. Da der Kalender kontinuierlich ist, werden Monate mit geringer oder keiner Aktivität weiterhin korrekt angezeigt, und Ihre Vorjahreslogik bleibt konsistent.

  1. Erstelle die Kalendertabelle.

  2. Stellen Sie einen Bezug zur Umsatzfaktentabelle her.

  3. Markieren Sie es als Datumstabelle.

  4. Basis- und Zeitintelligenzmaßnahmen aufbauen.

  5. Überprüfen Sie die Ergebnisse auf einer leeren Testseite, bevor Sie das endgültige Dashboard entwerfen.

Dieser Workflow ist einfach genug für die alltägliche Berichterstattung und gleichzeitig robust genug, um später auch komplexere Szenarien wie Geschäftsjahreskalender, rollierende Perioden und Prognosevergleiche zu unterstützen.

Bonustipps und häufige Fehler

  • Verwenden Sie für aussagekräftige Berichtsmodelle keine automatische Datums-/Zeitberechnung. Sie ist zwar für schnelle Prototypen praktisch, aber eine separate Datumstabelle ist übersichtlicher und einfacher zu handhaben.

  • Sortieren Sie den Monatsnamen nach der Monatsnummer, sonst wird möglicherweise April vor Februar angezeigt.

  • Verwenden Sie eine durchgehende Datumsspalte ohne Lücken im Kalenderbereich.

  • Verwenden Sie die Kalendertabelle in Datenschnitten und Achsen, nicht die Rohdaten aus der Faktentabelle.

  • Wenn Sie fiskalische Logik benötigen, integrieren Sie diese einmalig in die Tabelle, anstatt sie in jeder einzelnen Kennzahl neu zu schreiben.

Optionale Power Query-Version

Manche Teams bevorzugen die Erstellung des Kalenders in Power Query anstatt in DAX. Das kann nützlich sein, wenn die Tabelle beim Aktualisieren neu generiert werden soll, Transformationen zentralisiert bleiben sollen oder ähnliche Logik in mehreren Modellen verwendet werden soll.

let
    StartDate = #date(2024, 1, 1),
    EndDate = #date(2026, 12, 31),
    DayCount = Duration.Days(EndDate - StartDate) + 1,
    Dates = List.Dates(StartDate, DayCount, #duration(1,0,0,0)),
    ToTable = Table.FromList(Dates, Splitter.SplitByNothing(), {"Date"}),
    ChangeType = Table.TransformColumnTypes(ToTable, {{"Date", type date}}),
    AddYear = Table.AddColumn(ChangeType, "Year", each Date.Year([Date]), Int64.Type),
    AddMonthNo = Table.AddColumn(AddYear, "Month No", each Date.Month([Date]), Int64.Type),
    AddMonthName = Table.AddColumn(AddMonthNo, "Month Name", each Date.MonthName([Date]), type text),
    AddYearMonth = Table.AddColumn(AddMonthName, "YearMonth", each Date.ToText([Date], "yyyy-MM"), type text)
in
    AddYearMonth

Verwenden Sie die DAX-Variante, wenn Sie Wert auf Geschwindigkeit und Einfachheit im Datenmodell legen. Nutzen Sie die Power Query-Variante, wenn Sie Transformationslogik vor dem Laden der Daten bevorzugen. Beide Ansätze eignen sich gut für ein übersichtliches und durchdachtes Tabellendesign.


Schlussgedanken

Eine korrekte Datumstabelle ist eine der einfachsten Modellierungsentscheidungen, die Sie treffen können, hat aber einen enormen Einfluss auf die Berichtsqualität. Sie verbessert die Sortierung, vereinfacht DAX, optimiert die Zeitintelligenz und erleichtert die Wartung Ihres Power BI-Modells bei dessen Erweiterung. Wenn Ihre Berichte maßgeblich auf Datumsangaben basieren, sollte dies eine der ersten Komponenten sein, die Sie erstellen.

Weitere praktische Anleitungen zu Power BI finden Sie in der Power BI-Kategorie auf Excelized. Benötigen Sie ein maßgeschneidertes Dashboard, eine Überprüfung Ihres Datenmodells oder eine Teamschulung? Dann ist der Bereich „Power BI-Services“ der nächste logische Schritt.

Kommentare

Mit 0 von 5 Sternen bewertet.
Noch keine Ratings

Rating hinzufügen
Offizielles Logo der Webseite

Verwandeln Sie unübersichtliche Daten in übersichtliche Dashboards und bessere Entscheidungen.

Kontakt

Adresse:
83022 Rosenheim, Deutschland

E-Mail:
info@excelized.de

Abonnieren

Sichern Sie sich eine kostenlose Power-Query-Kurzanleitung durch ein Abonnement!

© Excelized. Alle Rechte vorbehalten.

bottom of page