top of page

Dynamische Small Multiples

Aktualisiert: 23. Okt.

So aktivierst du bedingte Layouts ohne native Option

Manchmal entstehen gute Ideen nicht, wenn man aktiv danach sucht, sondern wenn man etwas liest, das hängen bleibt. Vor ein paar Monaten bin ich über einen Post von Rahat Qayyum gestolpert, in dem er gezeigt hat, wie man mit dem Power BI Project File (PBIP) Eigenschaften von Visuals dynamisieren kann, die im UI gar keine „fx“-Option haben.


Das klang spannend, war für mich aber eher so ein „Muss ich irgendwann mal ausprobieren“-Thema. Vor ein paar Tagen kam dann der passende Moment.I ch hatte die Anforderung, das Layout meiner Small Multiples dynamisch an eine Auswahl anzupassen – also Zeilen und Spalten nicht fest einzustellen, sondern je nach Filterung automatisch zu verändern.


Wer schon mal mit Small Multiples gearbeitet hat, weiß: Im Visual kannst du die Anzahl der Zeilen und Spalten nur fix vorgeben. Eine bedingte Formatierung oder gar eine dynamische Steuerung über Measures gibt es bisher nicht.Zumindest nicht über das Menü.



Die Idee – Power BI mit Code erweitern

An diesem Punkt kam mir Rahats Ansatz wieder in den Sinn. Er hatte gezeigt, dass man über das PBIP-Format direkt auf die JSON-Definition der Visuals zugreifen kann.Das ist kein offizielles Feature, keine geheime Beta, sondern einfach eine andere Art, den Bericht zu speichern. Wenn du dein Power BI File als .pbip speicherst, entsteht ein Projektverzeichnis, das nicht nur das semantische Modell enthält, sondern auch die Berichtsdefinition – und genau dort stehen die Eigenschaften der Visuals im Klartext.


Damit lässt sich im Prinzip jede feste Eigenschaft im JSON durch eine Expression ersetzen – also eine Formel, die auf Measures verweist.Und genau das habe ich genutzt, um die Zeilen- und Spaltenanzahl meiner Small Multiples dynamisch zu steuern.


Schritt 1 – Measures für Zeilen und Spalten erstellen

Zuerst habe ich zwei einfache Measures angelegt: Eine für die Anzahl der Spalten, eine für die Zeilen. Beide orientieren sich an der Anzahl der ausgewählten Elemente (in meinem Fall Companies).


Die Logik ist simpel: Wenn weniger Elemente ausgewählt sind, bleibt das Layout einspaltig oder zweispaltig. Sobald die Anzahl steigt, fügt sich automatisch eine weitere Zeile hinzu. Damit steht die Grundlage für das dynamische Verhalten schon im Modell.


Schritt 2 – Bericht als PBIP speichern

Damit du auf die Definition zugreifen kannst, musst du Power BI so einstellen, dass du Berichte im Projektformat speichern kannst.Das ist aktuell ein Vorschau-Feature.Du aktivierst es unter Datei > Optionen > Vorschaufeatures > Power BI Project File Format.


Ich empfehle, das .pbir-Format zu wählen, weil du damit gezielter an die einzelnen JSON-Dateien kommst.Danach speicherst du deinen Bericht ganz normal als PBIP ab – und Power BI legt ein Projektverzeichnis mit mehreren Unterordnern an.


Schritt 3 – Layout im Code anpassen

Jetzt kommt der spannende Teil.Öffne dein Projekt in Visual Studio Code und navigiere zum Ordner Report > Pages. Hier findest du Unterordner für jede Seite deines Berichts. In diesen liegen wiederum JSON-Dateien für jedes Visual.


Wenn du die Datei deines Small Multiples öffnest, findest du dort eine Eigenschaft, die den Layoutbereich beschreibt – typischerweise etwas wie "grid": { "rows": 2, "columns": 3 }.Genau hier ersetzt du die festen Zahlen durch eine Expression, die auf dein Measure verweist.


Beispiel:

Flexible Small Multiples in Power BI



Danach speicherst du die Datei und öffnest dein PBIP-Projekt wieder in Power BI Desktop.

Wenn du jetzt filterst oder slicest, reagiert das Layout dynamisch auf deine Auswahl.


Schritt 4 – Testen und erweitern

In meinem Fall funktioniert das Verhalten stabil – Zeilen und Spalten passen sich sauber an.Natürlich kann man die Logik noch erweitern, z. B. um Mindest- oder Maximalwerte zu begrenzen oder um das Layout bewusst bei bestimmten Szenarien zu fixieren.


Das Schöne ist:Diese Methode lässt sich auf viele andere Eigenschaften übertragen, die aktuell nicht über „fx“ erreichbar sind.Zum Beispiel Schriftgrößen, Achsentitel oder Farben. Im Grunde öffnet sich hier ein neuer Bereich, um Power BI über die Oberfläche hinaus zu gestalten.

Fazit zu dynamischen Small Multiples in Power BI:

Mehr Flexibilität durch Neugier

Das Beispiel zeigt, wie viel Potenzial in scheinbar festen Strukturen steckt. Power BI ist oft restriktiv, wenn es um Designfreiheit oder dynamische Eigenschaften geht. Aber mit ein bisschen Neugier und dem Willen, unter die Haube zu schauen, lassen sich viele Grenzen verschieben.


Ich finde genau das spannend:Ausprobieren, was möglich ist – auch wenn es nicht offiziell dokumentiert ist. Und es sind genau diese kleinen Entdeckungen, die Power BI lebendig halten.

Wenn du neugierig geworden bist, welche weiteren Möglichkeiten in Power BI stecken und du deine Fähigkeiten erweitern möchtest, dann schau dir unser Power BI Training auf der Daten-WG Website an. In diesem Training gehen wir tiefer in die Praxis, zeigen fortgeschrittene Use Cases und viele Tipps aus echten Projekten.

bottom of page