Eine Datumstabelle erstellen

Abgeschlossen

Bei der Berichterstellung in Power BI besteht eine allgemeine Geschäftsanforderung darin, Berechnungen basierend auf Datum und Uhrzeit durchzuführen. Organisationen möchten wissen, wie ihr Unternehmen in bestimmten Monaten, Quartalen, Geschäftsjahren usw. abgeschnitten hat. Aus diesem Grund ist es von entscheidender Bedeutung, dass diese zeitorientierten Werte ordnungsgemäß formatiert sind. Power BI erkennt Datumsspalten und ‑tabellen automatisch. Es können jedoch Situationen auftreten, in denen Sie zusätzliche Schritte unternehmen müssen, um die Daten in das von Ihrer Organisation benötigte Format zu bringen.

Angenommen, Sie entwickeln beispielsweise Berichte für das Vertriebsteam Ihrer Organisation. Die Datenbank enthält Tabellen für Verkäufe, Aufträge, Produkte und mehr. Sie bemerken, dass viele dieser Tabellen (einschließlich der „Sales“‑ und „Orders“-Tabellen) wie in den Spalten ShipDate und OrderDate in den Tabellen „Sales“ und „Orders“ angezeigt eigene Datumsspalten enthalten. Ihre Aufgabe ist es, eine Tabelle für die gesamten Verkäufe und Aufträge pro Jahr und Monat zu erstellen. Wie können Sie ein Visual mit mehreren Tabellen erstellen, die jeweils auf ihre eigenen Datumsspalten verweisen?

Screenshot eines Auszugs des semantischen Modells mit „Sales.ShipDate“ und „Order.OrderDate“ hervorgehoben

Zur Lösung dieses Problems können Sie eine gemeinsame Datumstabelle erstellen, die von mehreren Tabellen genutzt werden kann. Im folgenden Abschnitt wird erläutert, wie Sie dies in Aufgabe Power BI erreichen können.

Allgemeine Datumstabelle erstellen

Hier finden Sie einige Möglichkeiten, eine gemeinsame Datumstabelle zu erstellen:

  • Quelldaten

  • DAX

  • Power Query

Quelldaten

Gelegentlich verfügen Quelldatenbanken und Data Warehouse-Datenbanken bereits über eigene Datumstabellen. Wenn der Administrator, der die Datenbank entworfen hat, seine Arbeit gründlich erledigt hat, können diese Tabellen verwendet werden, um die folgenden Aufgaben auszuführen:

  • Betriebsferien des Unternehmens identifizieren

  • Kalender‑ und Geschäftsjahr trennen

  • Wochenenden im Vergleich zu Wochentagen identifizieren

Quelldatentabellen sind ausgereift und sofort einsatzbereit. Wenn Sie über eine solche Tabelle verfügen, integrieren Sie diese in Ihr semantisches Modell, und verwenden Sie keine anderen in diesem Abschnitt beschriebenen Methoden. Wir empfehlen die Verwendung einer Quelldatumstabelle, da diese wahrscheinlich auch für andere Tools freigegeben wird, die Sie möglicherweise zusätzlich zu Power BI verwenden.

Wenn Sie über keine Quelldatentabelle verfügen, gibt es andere Möglichkeiten, eine allgemeine Datumstabelle zu erstellen.

DAX

Sie können die DAX-Funktionen (Data Analysis Expression) „CALENDARAUTO()“ und „CALENDAR()“ verwenden, um eine allgemeine Datumstabelle zu erstellen. Die Funktion „CALENDAR()“ gibt einen zusammenhängenden Datumsbereich basierend auf einem Start‑ und Enddatum zurück, die als Argumente in die Funktion eingegeben werden. Alternativ gibt die Funktion „CALENDARAUTO()“ einen zusammenhängenden, vollständigen Datumsbereich zurück, der automatisch aus Ihrem semantischen Modell ermittelt wird. Als Startdatum wird das früheste in Ihrem semantischen Modell vorhandene Datum ausgewählt, und als Enddatum wird das späteste in Ihrem semantischen Modell vorhandene Datum zuzüglich der bis zum Geschäftsmonat aufgefüllten Daten ausgewählt, die Sie als Argument in die Funktion „CALENDARAUTO()“ aufnehmen können. Im Rahmen dieses Beispiels wird die „CALENDAR()“-Funktion verwendet, da Sie nur die Daten für die zehn Jahre ab dem 31. Mai 2011 (dem ersten Tag, ab dem diese Daten nachverfolgt wurden) anzeigen möchten.

Wählen Sie in Power BI Desktop Neue Tabelle aus, und geben Sie dann die folgende DAX-Formel ein:

Dates  = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Screenshot der KALENDER-Formel in Power BI

Nun verfügen Sie über eine Spalte mit Datumsangaben, die Sie verwenden können. Diese Spalte ist jedoch nicht sehr umfangreich. Sie möchten außerdem, dass nur Spalten für ein Jahr, einen Monat, eine Monatsnummer, die Woche eines Jahres oder einen Wochentag angezeigt werden. Dies erreichen Sie, indem Sie auf dem Menüband auf Neue Spalte klicken und die folgende DAX-Gleichung eingeben, mit der das Jahr aus der Datumstabelle abgerufen wird.

Year = YEAR(Dates[Date])

Screenshot für das Hinzufügen von Spalten mit der DAX-Gleichung

Sie können den gleichen Prozess zum Abrufen der Monatsnummer, der Wochennummer und des Wochentags ausführen:

MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")

Wenn Sie fertig sind, enthält die Tabelle die Spalten, die in der folgenden Abbildung dargestellt sind.

Screenshot der endgültigen Spalten in der DAX-Tabelle

Sie haben jetzt mithilfe von DAX eine allgemeine Datumstabelle erstellt. Dieser Vorgang fügt Ihre neue Tabelle lediglich dem semantischen Modell hinzu. Sie müssen noch Beziehungen zwischen Ihrer Datumstabelle und den Tabellen „Sales“ und „Order“ herstellen und Ihre Tabelle anschließend als offizielle Datumstabelle Ihres semantischen Modells kennzeichnen. Bevor Sie diese Aufgaben abschließen, sollten Sie jedoch unbedingt eine andere Möglichkeit zum Erstellen einer gemeinsamen Datumstabelle in Betracht ziehen: mithilfe von Power Query.

Power Query

Mit M-Sprache, der Entwicklungssprache zum Erstellen von Abfragen in Power Query, können Sie eine gemeinsame Datumstabelle definieren.

Wählen Sie die Option Daten transformieren in Power BI Desktop aus, die Sie direkt zu Power Query weiterleitet. Klicken Sie im Leerraum des Bereichs Abfragen auf der linken Seite mit der rechten Maustaste, um das folgende Dropdownmenü zu öffnen, in dem Sie dann auf Neue Abfrage > Leere Abfrage klicken.

Screenshot zum Erstellen einer neuen Abfrage in Power BI

Geben Sie in der nun angezeigten Ansicht Neue Abfrage die folgende M-Formel ein, um eine Kalendertabelle zu erstellen:

= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Screenshot der Entwicklung einer Kalendertabelle mit einer M-Formel

Für Ihre Verkaufsdaten soll das Startdatum das früheste Datum widerspiegeln, das in Ihren Daten vorhanden ist: 31. Mai 2011. Außerdem möchten Sie die Datumsangaben für die nächsten zehn Jahre einschließlich in der Zukunft liegender Datumsangaben anzeigen. Durch diese Vorgehensweise wird sichergestellt, dass diese Tabelle nicht neu erstellt werden muss, wenn neue Vertriebsdaten eingefügt werden. Sie können die Dauer auch ändern. In diesem Fall benötigen Sie einen Datenpunkt für jeden Tag, aber Sie können auch nach Stunden, Minuten und Sekunden erhöhen. Die folgende Abbildung zeigt das erwartete Ergebnis.

Screenshot des Verkaufskalenders als Liste

Nach erfolgreicher Ausführung des Prozesses bemerken Sie, dass Sie anstelle einer Tabelle mit Daten eine Liste mit Daten erstellt haben. Navigieren Sie zum Menüband auf der Registerkarte Transform, und klicken Sie auf Konvertieren > In Tabelle, um diesen Fehler zu beheben. Wie der Name bereits vermuten lässt, konvertiert dieses Feature die Liste in eine Tabelle. Sie können die Spalte auch in DateCol umbenennen.

Screenshot der Konvertierung einer Liste in eine Tabelle im Power Query-Editor

Als Nächstes möchten Sie in der neuen Tabelle Spalten hinzufügen, um Datumsangaben mit Jahr, Monat, Woche und Tag anzuzeigen, sodass Sie eine Hierarchie in Ihrem Visual erstellen können. Ihre erste Aufgabe besteht darin, den Spaltentyp zu ändern, indem Sie auf das Symbol neben dem Namen der Spalte klicken und im daraufhin angezeigten Dropdownmenü den Typ Datum auswählen.

Screenshot der Änderung des Typs in „Datum“

Nachdem Sie den Typ Datum ausgewählt haben, können Sie Spalten für Jahr, Monat, Woche und Tag hinzufügen. Navigieren Sie zu Spalte hinzufügen, und wählen Sie im Dropdownmenü unter Datum die Option Jahr aus, wie in der folgenden Abbildung dargestellt.

Screenshot des Hinzufügens von Spalten über Power Query

Beachte das Power BI eine Spalte aller Jahre hinzugefügt hat, die aus DateCol übernommen werden.

Screenshot des Hinzufügens von Spalten mit Power Query für eine Tabelle

Führen Sie die gleichen Schritte für Monate, Wochen und Tage aus. Nachdem Sie diesen Prozess abgeschlossen haben, enthält die Tabelle die Spalten, die in der folgenden Abbildung dargestellt sind.

Screenshot der Spalten „DateCol“, „Year“, „Month“, „Week of Year“ und „Day Name“

Sie haben nun erfolgreich eine gemeinsame Datumstabelle mit Power Query erstellt.

Die vorherigen Schritte zeigen, wie die Tabelle in das semantische Modell eingefügt wird. Nun müssen Sie Ihre Tabelle als offizielle Datumstabelle markieren, damit Power BI sie für alle zukünftigen Werte erkennen und sicherstellen kann, dass die Formatierung korrekt ist.

Als offizielle Datumstabelle markieren

Ihre erste Aufgabe beim Markieren der Tabelle als die offizielle Datumstabelle ist das Finden der neuen Tabelle im Bereich Felder. Klicken Sie mit der rechten Maustaste auf den Namen der Tabelle, und wählen Sie dann Als Datumstabelle markieren aus, wie in der folgenden Abbildung dargestellt.

Screenshot der Option „Als Datumstabelle markieren“

Wenn Sie Ihre Tabelle als Datumstabelle kennzeichnen, führt Power BI Überprüfungen durch, um sicherzustellen, dass die Daten keine Nullwerte enthalten, eindeutig sind und kontinuierliche Datumswerte über einen Zeitraum enthalten. Sie können auch bestimmte Spalten in der Tabelle auswählen, um sie als Datum zu markieren. Dies kann hilfreich sein, wenn Ihre Tabelle über viele Spalten verfügt. Klicken Sie mit der rechten Maustaste auf die Tabelle, wählen Sie Als Datumstabelle markieren und dann Einstellungen der Datumstabelle aus. Das folgende Fenster wird angezeigt, in dem Sie auswählen können, welche Spalte als Datum markiert werden soll.

Screenshot des Dialogfelds „Als Datumstabelle markieren“

Durch Klicken auf Als Datumstabelle markieren werden automatisch generierte Hierarchien aus dem Feld Datum der Tabelle entfernt, die Sie als Datumstabelle markiert haben. Bei anderen Datumsfeldern ist die automatische Hierarchie weiterhin vorhanden, bis Sie eine Beziehung zwischen dem Feld und der Datumstabelle erstellen oder die Funktion Autom. Datum/Uhrzeit deaktivieren. Sie können Ihrer gemeinsamen Datumstabelle manuell eine Hierarchie hinzufügen, indem Sie mit der rechten Maustaste auf die Spalten „year“, „month“, „week“ oder „day“ im Bereich Felder, und wählen Sie dann Neue Hierarchie aus. Dieser Vorgang wird später in diesem Modul ausführlicher erläutert.

Visual erstellen

Sie müssen eine Beziehung zwischen dieser neuen allgemeinen Datumstabelle und den Tabellen „Sales“ und „Order“ erstellen, um ein Visual für die beiden letzteren Tabellen erstellen zu können. Dies ermöglicht es Ihnen, Visuals mithilfe der neuen Datumstabelle zu erstellen. Navigieren Sie zum Abschluss dieser Aufgabe zur Registerkarte Modell >Beziehungen verwalten. Dort können Sie mithilfe der Spalte OrderDate Beziehungen zwischen der allgemeinen Datumstabelle und den Tabellen „Order“ und „Sales“ erstellen. Der folgende Screenshot zeigt ein Beispiel für eine solche Beziehung.

Screenshot des Dialogfelds „Beziehung erstellen“

Nachdem Sie die Beziehungen erstellt haben, können Sie Ihr Visual Gesamtumsatz und Bestellmenge nach Zeit mit Ihrer gemeinsamen Datumstabelle erstellen, die Sie mit DAX oder der Power Query-Methode entwickelt haben.

Für die Ermittlung des Gesamtumsatzes müssen Sie alle Verkäufe addieren, da die Spalte Betrag in der Tabelle „Sales“ nur den Umsatz für die einzelnen Verkäufe und nicht den Gesamtumsatz enthält. Sie können diese Aufgabe mit der folgenden Kennzahlberechnung abschließen, die später erläutert wird. Die Berechnung, die Sie bei der Erstellung dieser Kennzahl verwenden werden, lautet wie folgt:

#Total Sales = SUM(Sales[‘Amount’])

Anschließend können Sie eine Tabelle erstellen, indem Sie zur Registerkarte Visualisierungen zurückkehren und auf das Visual Tabelle klicken. Sie möchten die Gesamtanzahl der Aufträge und Verkäufe nach Jahr und Monat anzeigen. Daher möchten Sie nur die Spalten „Year“ und „Month“ der Datumstabelle, die OrderQty-Spalte und die Kennzahl #TotalSales verwenden. Wenn Sie mehr über Hierarchien erfahren haben, können Sie auch eine Hierarchie erstellen, mit der Sie einen Drilldown von Jahren zu Monaten ausführen können. In diesem Beispiel können Sie sie nebeneinander anzeigen. Sie haben nun erfolgreich ein Visual mit einer allgemeinen Datumstabelle erstellt.

Screenshot der Spalte „Common Date“ mit DAX