Wie man eine korrekte Datumstabelle in Power BI erstellt
- 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.

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.
Erstelle die Kalendertabelle.
Stellen Sie einen Bezug zur Umsatzfaktentabelle her.
Markieren Sie es als Datumstabelle.
Basis- und Zeitintelligenzmaßnahmen aufbauen.
Ü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
AddYearMonthVerwenden 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