Online Magazine
Mit «Small Multiples» Daten besser visualisieren und vergleichen

Wie lassen sich verschiedenste Kennzahlen am besten miteinander vergleichen? Mit «Small Multiples» – also mehreren im gleichen Raster angeordneten Diagrammen. In diesem Hack zeige ich dir, wie man solche mit Power BI einfach generieren kann.
von Salvatore Cagliari

Dank sogenannten «Small Multiples» – verschiedene in einem Raster angeordnete Diagramme mit den gleichen Achsen und Skalen (siehe auch Abb. 2) – kannst du deine Daten besser vergleichen und analysieren sowie die Informationsdichte von Berichten enorm erhöhen.
Doch wie lässt sich dies konkret umsetzen? Natürlich ginge es auf manuellem Weg, jedoch nicht ohne eine Vielzahl von einzelnen, zeitaufwändigen Arbeitsschritten bis schliesslich alle Daten mit den gewünschten und auch vergleichbaren Werten visuell dargestellt werden können.
Eine deutlich empfehlenswertere Variante ist deshalb, mit der «Small Multiple»-Funktion in Power BI zu arbeiten. In den nachfolgenden Hacks zeige ich Schritt für Schritt auf, wie das funktioniert.
Stell dir vor, du hast etliche Kennzahlen und möchtest diese bestmöglich zueinander in Kontext setzen, damit du sie einfach vergleichen kannst. Wenn du dies auf «herkömmliche» Weise tust, könnte dein Resultat wie hier in Abb. 1 aussehen:
Abbildung 1: Mehrere Visuals mit unterschiedlichen Werten
Du erhältst also mehrere einzelne Diagramme, welche sich aufgrund unterschiedlicher Skalen nur schwer vergleichen lassen.
Eine deutlich bessere Variante wäre deshalb, wenn alle Werte in einem einzigen Visual dargestellt würden und sich aufgrund der gleichen Achsen und Skalen vergleichen liessen wie in Abb. 2:
Abbildung 2: Visual mit «Small Multiples»
Dies kann mit «Small Multiples» in Power BI realisert werden. Damit hat man die folgenden Vorteile:
- Du kannst auf einfache Weise mehrere Werte in einem Visual darstellen.
- Die Skalierung der Diagramme zwischen den einzelnen Werten passiert automatisch.
- Die Informationsdichte in Berichten ist höher.
Schauen wir uns an, wie wir diese Lösung realisieren können.
Noob Hack
Zunächst benötigen wir eine Tabelle mit allen Measures, die am Ende ins Visual einfliessen sollen. Ich habe diese Tabelle über die Funktion "Enter Data" in Power BI Desktop hinzugefügt.
Das könnte schliesslich wie folgt aussehen:
Abbildung 3: Tabelle zur Auswahl von Werten
Die neue Tabelle muss keine Beziehung zu einer anderen Tabelle haben, da sie nur dazu verwendet wird, auf die erforderlichen Werte zu verweisen. Die Spalte «MeasureID» habe ich von Hand hinzugefügt.
Danach muss ich überprüfen, ob nur eine «MeasureID» im aktuellen Filterkontext vorhanden ist. Dafür nutze ich die Funktionen IF() und HASONEVALUE():
Dynamic Measure = IF ( HASONEVALUE('Measure Selection'[MeasureID]) ,SWITCH(MIN('Measure Selection'[MeasureID]) ,1, [Online Sales (By Order Date)] ,2, [Online Sales (By Ship Date)] ,3, [Online Sales (By Due Date)] ,4, [Online Sales (By Customer)] ,5, [Last Stock by Date Var 2] ,6, [Sales Large Amount_2] ,7, [Weighted Average Sales Amount] ,8, [Margin] ,9, FORMAT([Margin %], "Percentage") ,[Retail Sales] ) ,[Retail Sales] )
Wenn mehr als eine MeasureID im aktuellen Filterkontext vorhanden ist, springe ich zum ELSE-Zweig der IF()-Funktion und zeige die Measure [Retail Sales] an. In meinem Fall definiere ich diesen Wert als meine "Default Measure".
Diese wird dann angezeigt, wenn keine Measure aus der Measure Selection Tabelle ausgewählt wird. Damit stelle ich sicher, dass immer ein Ergebnis angezeigt wird und kein Fehler auftritt.
Wenn nur ein Wert für «MeasureID» ausgewählt wird, kann ich diesen überprüfen und die entsprechende Kennzahl anzeigen.
Jetzt kann ich die Spalte «Measure Name» bei den «Small Multiples» hinzufügen:
Abbildung 4: “Measure Name” bei den “Small Multiples” hinzufügen
Anschliessend erhältst du das Ergebnis welches in Abb.2 gezeigt wird.
Noch entsprechen in unserem Beispiel aber nicht alle Diagramme dem gewünschten Resultat. So haben die rot markierten Diagramme in Abb. 5 entweder sehr kleine Werte im Vergleich zu den anderen oder sind als Prozentsatz angegeben – und sind damit nicht sehr nützlich.
Abbildung 5: Die Balken der rot markierten Diagramme fallen sehr klein aus oder ihre Einheiten stimmen nicht überein.
Wir haben die folgenden 2 Möglichkeiten, diese Ergebnisse zu entfernen:
- Die Measures manuell aus der Measure-Selection-Tabelle entfernen, die dem Visual hinzugefügt wurde.
- Die Filtereinstellung manipulieren, um sie zu entfernen:
Abbildung 6: Filtereinstellungen zum Ausschluss von nicht verwendbaren Measures
Das Ergebnis könnte nun so aussehen:
Abbildung 7: Ergebnis mit ausgeschlossenen Measures
Schliesslich können wir das Erscheinungsbild der «Small Multiples» noch ändern, indem wir die Formatoptionen anpassen:
Abbildung 8: «Small Multiples» konfigurieren
Die Anzahl der Spalten und Zeilen kann so angepasst und eingerichtet werden, wie man es braucht.
Die Abstände (Padding) der einzelnen Diagramme können ausserdem einheitlich vordefiniert oder getrennt für die Zeilen und Spalten eingestellt werden.
Das eröffnet nun ganz neue Möglichkeiten. Stell dir vor, du möchtest folgende Werte des aktuellen und des vorherigen Jahres sehen:
- Online-Verkäufe nach Bestelldatum
- Online-Verkäufe nach Versanddatum
- Online-Verkäufe nach Fälligkeitsdatum
- Online-Verkäufe nach Kunde
- Einzelhandelsverkäufe
Dafür erstelle ich Vorjahres-Measures (PY) und verfahre wie weiter oben bereits beschrieben:
Dynamic Measure (PY) = IF ( HASONEVALUE('Measure Selection'[MeasureID]) ,SWITCH(MIN('Measure Selection'[MeasureID]) ,1, [Online Sales (By Order Date) PY] ,2, [Online Sales (By Ship Date) PY] ,3, [Online Sales (By Due Date) PY] ,4, [Online Sales (By Customer) PY] ,[Retail Sales PY] ) ,[Retail Sales PY] )
In unserem Beispiel erhalte ich das folgende Ergebnis:
Abbildung 9: Ergebnis mit Werten des Vorjahres
Jetzt kannst du mit deiner Fantasie spielen und deine Lösung nach Bedarf erweitern!
Hier findest du weitere Hacks von Salvatore ...
... zum Thema Data Analysis Expressions DAX: Erfahre hier mehr!
... zur Datenanalyse mit dem Modulo-Operator: Jetzt den Hack lesen!
Pro Hack
Deine Diagramme sollen nicht statisch bleiben, sondern sich dynamisch um neue Werte erweitern lassen? Dazu muss man in der Lage sein, seine Measures zu verwalten und sie als «Dynamic Measure» zu integrieren.
Dafür kannst du das DAX Studio verwenden, um die «Analysis Services Dynamic Management Views» abzufragen.
Durch die folgende Abfrage erhältst du eine Liste aller Measures:
Abbildung 10: Abrufen der Liste von Measures in DAX Studio
Diese Liste kannst du nun in Excel kopieren und eine Indexspalte hinzufügen. Danach kannst du die neue Tabelle in die «Measure Selection»-Tabelle kopieren.
Mit Excel kann sogar die «Dynamic Measures» mit einer einfachen Formel aus der Tabelle generiert werden.
Anschliessend können die generierten Werte in das Datenmodell kopiert werden.
Referenzen
Create small multiples in Power BI - Power BI | Microsoft Learn
Dynamic Management Views (DMVs) in Analysis Services | Microsoft Learn
Ich verwende den Beispieldatensatz von Contoso, wie in meinen früheren Artikeln. Du kannst das ContosoRetailDW Dataset kostenlos von Microsoft herunterladen.
Die Contoso-Daten können unter der MIT-Lizenz frei verwendet werden, wie hier beschrieben.

MEHR HACKS & SPANNENDE FACHARTIKEL:
