Arbeiten mit Dimensionen

Abgeschlossen

Wenn Sie ein Sternschema erstellen, verfügen Sie über Dimensions- und Faktentabellen. Faktentabellen enthalten Informationen zu Ereignissen, z. B. Verkaufsaufträgen, Versanddaten, Handelspartnern und Lieferanten. Dimensionstabellen speichern Details zu Geschäftsentitäten, z. B. Produkte oder die Uhrzeit, und sind über eine Beziehung mit Faktentabellen verbunden.

Sie können Hierarchien als Quelle verwenden, um Details in Dimensionstabellen zu finden. Diese Hierarchien werden anhand von natürlichen Unterteilungen in Ihren Daten erstellt. Beispielsweise können Sie über eine Datumshierarchie verfügen, in der Ihre Datumsangaben in Jahre, Monate, Wochen und Tage unterteilt werden können. Hierarchien sind nützlich, da Sie damit Detailinformationen für Ihre Daten anzeigen können, statt nur einen Überblick.

Hierarchien

Wenn Sie Visuals erstellen, gibt Power BI automatisch Werte vom Typ „Datum“ als Hierarchie ein (wenn die Tabelle nicht als Datumstabelle markiert wurde).

Screenshot des Hierarchiebeispiels

In der vorherigen Spalte Date wird das Datum über Jahr, Quartal, Monat und Tag immer detaillierter angezeigt. Sie können Hierarchien auch manuell erstellen.

Stellen Sie sich z. B. vor, Sie möchten ein gestapeltes Balkendiagramm mit den Gesamtumsätzen nach Kategorie und Unterkategorie erstellen. Dies können Sie erreichen, indem Sie in der Tabelle Product eine Hierarchie für Kategorien und Unterkategorien erstellen. Wechseln Sie zum Erstellen einer Hierarchie in Power BI in den Bereich Felder, und klicken Sie dann mit der rechten Maustaste auf die gewünschte Spalte für die Hierarchie. Wählen Sie Neue Hierarchie aus, wie in der folgenden Abbildung dargestellt.

Screenshot der neuen Hierarchie in der Produkttabelle

Ziehen Sie anschließend die Spalte mit der Unterkategorie per Drag & Drop in diese neue, von Ihnen erstellte Hierarchie. Die Spalte wird der Hierarchie als Unterebene hinzugefügt.

Screenshot von „Category Name Hierarchy“ mit geschachteltem „Category Name“ und „SubCategory Name“

Nun können Sie das Visual erstellen, indem Sie im Bereich Visualisierungen ein gestapeltes Balkendiagramm auswählen. Geben Sie im Feld Achse Ihre Category Name Hierarchy und im Feld Werte die Total Sales an.

Screenshot des Felds „ Achse“ mit „Category Name Hierarchy“ und im Feld „Werte“ die „Total Sales“

Sie können einen Drilldown für das Visual ausführen, um sowohl die Kategorie als auch die Unterkategorie anzuzeigen, je nachdem, was Sie sehen möchten. Hierarchien ermöglichen es Ihnen, eine höhere Anzahl von Datenebenen in einer Ansicht anzuzeigen.

Screenshot der zwei Ansichten in einem einzelnen Visual

Nun da Sie sich mit Hierarchien vertraut gemacht haben, können Sie einen Schritt weiter gehen und Über-/Unterordnungshierarchien und deren Rolle in verschiedenen Beziehungen zwischen Fakten- und Dimensionstabellen näher betrachten.

Über-/Unterordnungshierarchie

Im folgenden Beispiel verfügen Sie in der Datenbank über eine Mitarbeitertabelle, die wichtige Informationen zu den Mitarbeitern und ihren Vorgesetzten sowie deren jeweilige ID enthält. Wenn Sie diese Tabelle betrachten, stellen Sie fest, dass Roy F in der Spalte Manager mehrfach aufgeführt ist. Wie in der Abbildung zu sehen, können mehrere Mitarbeiter denselben Vorgesetzten haben, was zeigt, dass eine Hierarchie zwischen Vorgesetzten und Mitarbeitern besteht.

Screenshot der Tabelle zu Mitarbeitern mit Spalten zur Mitarbeiter ID, dem jeweiligen Mitarbeiter, der Manager-ID und dem Manager

Die Spalte Manager bestimmt die Hierarchie und ist daher übergeordnet, während die Mitarbeiter untergeordnet sind. In diesem Beispiel möchten Sie alle Ebenen dieser Hierarchie sehen können. Power BI zeigt Ihnen standardmäßig nicht alle Ebenen der Hierarchie an. Daher müssen Sie selbst sicherstellen, dass alle Ebenen angezeigt werden, oder die Hierarchie vereinfachen, um mehr Datengranularität zu erreichen.

Vereinfachen einer Über-/Unterordnungshierarchie

Der Prozess des Anzeigens von mehreren untergeordneten Ebenen basierend auf einem übergeordneten Element der obersten Ebene wird als Vereinfachen der Hierarchie bezeichnet. Dabei erstellen Sie mehrere Spalten in einer Tabelle, um den hierarchischen Pfad vom übergeordneten zum untergeordneten Element im selben Datensatz anzuzeigen. Sie verwenden PATH(), eine einfache DAX-Funktion, die eine Textversion des Pfads mit allen Vorgesetzten für jeden Mitarbeiter zurückgibt, und PATHITEM(), um diesen Pfad in die verschiedenen Ebenen der Vorgesetztenhierarchie zu unterteilen.

Wichtig

DAX wurde bisher noch nicht behandelt, wird allerdings in einem anderen Modul näher betrachtet. Diese Funktion wird in diesem Abschnitt verwendet, da Hierarchien erläutert werden. Sollte die Verwendung von DAX an dieser Stelle verwirrend für Sie sein, sehen Sie sich das DAX-Modul an, und kehren Sie dann zu diesem Abschnitt zurück.

Navigieren Sie in der Tabelle zur Registerkarte Modellierung, und klicken Sie auf Neue Spalte. Geben Sie in die daraufhin angezeigte Bearbeitungsleiste die folgende Funktion ein, die den Textpfad zwischen dem Mitarbeiter und dem Vorgesetzten erstellt. Durch diese Aktion wird eine berechnete Spalte in DAX erstellt.

Path = PATH(Employee[Employee ID], Employee[Manager ID])

Screenshot: DAX-Measure zum Vereinfachen der Über-/Unterordnungshierarchie

Der fertige Pfad zwischen dem Mitarbeiter und dem Vorgesetzten wird in der neuen Spalte angezeigt, wie im folgenden Screenshot zu sehen.

Screenshot der PATH-Funktionstabelle in Power BI

Wenn Sie Roger M betrachten, sehen Sie, dass der Pfad mit den IDs 1010 | 1011 | 1013 lautet. Dies bedeutet, dass die Vorgesetzte eine Ebene über Roger M (ID 1013) Pam H (ID 1011) und der Vorgesetzte eine Ebene über Pam H Roy F (ID 1010) ist. In dieser Zeile befindet sich Roger M ganz unten in der Hierarchie, auf der untergeordneten Ebene, und Roy F ganz oben auf der übergeordneten Ebene. Dieser Pfad wird für jeden Mitarbeiter erstellt. Sie können jede der Ebenen mithilfe der PATHITEM-Funktion separat angeben, um die Hierarchie zu vereinfachen.

Wenn Sie alle drei Ebenen der Hierarchie separat anzeigen möchten, können Sie vier Spalten auf dieselbe Weise wie zuvor erstellen, indem Sie die folgenden Gleichungen eingeben. Sie verwenden die PATHITEM-Funktion, um den Wert abzurufen, der sich in der entsprechenden Ebene Ihrer Hierarchie befindet.

  • Level 1 = PATHITEM(Employee[Path],1)
  • Level 2 = PATHITEM(Employee[Path],2)
  • Level 3 = PATHITEM(Employee[Path],3)

Screenshot: Verwendung der PATHITEM-Funktion

Anschließend verfügen Sie über alle Hierarchieebenen in Ihrer Tabelle. Roy F befindet sich ganz oben in der Hierarchie, und wenn Sie Level 2-3 durchlaufen bemerken Sie, dass die Manager und Mitarbeiter einander zugeordnet sind.

Screenshot: Vereinfachung der Über-/Unterordnungshierarchie

Nun können Sie wie zuvor eine Hierarchie für den Bereich Felder erstellen. Klicken Sie mit der rechten Maustaste auf Level 1, da dies die erste Hierarchieebene ist, und wählen Sie dann New Hierarchy aus. Ziehen Sie dann Level 2 und Level 3 mithilfe von Drag & Drop in diese Hierarchie.

Screenshot: Neue Hierarchie für Mitarbeiterebenen

Sie haben nun eine Hierarchie erfolgreich vereinfacht, damit Sie die einzelnen Ebenen anzeigen können.

Zuvor haben Sie nur mit Dimensionen gearbeitet, die über nur eine Beziehung mit einer Faktentabelle verfügen. Allerdings können Situationen auftreten, in denen Ihre Dimensionstabelle über mehrere Beziehungen mit einer Faktentabelle verfügt.

Dimensionen mit unterschiedlichen Rollen

Dimensionen mit unterschiedlichen Rollen verfügen über mehrere gültige Beziehungen mit Faktentabellen, d. h., dass dieselbe Dimension zum Filtern mehrerer Spalten oder Tabellen mit Daten verwendet werden kann. Daher können Sie Daten unterschiedlich filtern, je nachdem, welche Informationen Sie abrufen müssen. Dies ist ein komplexes Thema, weshalb es in diesem Abschnitt nur vorgestellt wird. Für die Verwendung von Dimensionen mit unterschiedlichen Rollen sind komplexe DAX-Funktionen erforderlich, die in späteren Abschnitten behandelt werden.

Screenshot: Dimension mit unterschiedlichen Rollen in einem Modell

Im obigen Visual werden die Tabellen „Calendar“, „Sales“ und „Order“ gezeigt. „Calendar“ ist eine Dimensionstabelle, während es sich bei „Sales“ und „Order“ Faktentabellen handelt. Die Dimensionstabelle verfügt über zwei Beziehungen: eine mit „Sales“ und eine mit „Order“. Bei diesem Beispiel handelt es sich um eine Dimension mit unterschiedlichen Rollen, weil die Tabelle „Calendar“ dazu verwendet werden kann, Daten in den beiden Tabellen „Sales“ und „Order“ zu gruppieren. Wenn Sie ein Visual erstellen möchten, in dem die Calendar-Tabelle die Tabellen „Order“ und „Sales“ referenziert, würde die Calendar-Tabelle als Dimension mit unterschiedlichen Rollen fungieren.