Columns vs. Measures: Grundlagen zur Visualisierung mit Power BI

In diesem Blogbeitrag zeigen wir, daß die Visualisierungsmöglichkeiten eingeschränkt sind, wenn Kategorien oder Kennzahlen als ein Set von (mehreren) Measures und nicht als (eine einzige) Column im Datamodel abgebildet sind.

In der Praxis gibt es zahlreiche Anwendungsfälle, in denen Kategorien (bspw. metrische Variablen einer Zielgruppe) oder Kennzahlen (bspw. Deckungsbeitragsschema, Ein-/Austritte, usw.) als separate Wertspalten einer (Fakten- oder Dimensions-)Tabelle angeliefert werden und es daher naheliegend erscheint, diese Wertspalten als Measures auszuwerten. In der Regel liegt die beste Lösung darin, diese Wertspalten mit der Query Komponente (Funktion "Unpivot") in Datensätze zu transponieren. Für IST- und PLAN-Werte kann dies ebenfalls zutreffen, muß aber im Einzelfall evaluiert werden.

Es gibt aber auch zahlreiche Anwendungsfälle, in denen die Abfrage nur über Measures realisiert werden kann. Etwa weil die Berechnung sinnvoll nur dynamisch im Filter Kontext erfolgen kann (beispielsweise bei gewichteten Durchschnitten/Preisen/Prozenten, beim New-/Base Customer Pattern oder bei bei Ein-/Austritten von Mitarbeiten in bestimmten Modellierungsvarianten), oder weil ein (echtes) Multi-Faktenschema ausgewertet werden muß oder weil die Measures fortgeschrittene Kennzahlen ermitteln. Aber auch in diesen Fällen ist es wichtig von vornherein zu wissen, welche Visualisierungen dann nicht möglich sind.

Beispielumgebung

Wir verwenden hier die Adventure Works Demodatenbank mit einer adaptierten Version der Reseller Faktentabelle (Fact Sales):

Das Basismeasure ist folgendermaßen definiert:

Sales = Sum('Fact Sales'[Sales Amount])

In unserem Fall liegt das Feld Product Category bereits als Column vor. Zu Demozwecken werten wir in diesem Blogbeitrag zusätzlich die 4 Elemente dieser Column als ein Set von Measures aus (in der Praxis wäre diese Vorgehensweise nicht empfehlenswert):

Sales - Bikes = CALCULATE([Sales];'Dim Product'[Product Category]="Bikes")
Sales - Components = CALCULATE([Sales];'Dim Product'[Product Category]="Components")
Sales - Clothing = CALCULATE([Sales];'Dim Product'[Product Category]="Clothing")
Sales - Accessories = CALCULATE([Sales];'Dim Product'[Product Category]="Accessories")

Column vs. Measures mit Radial Charts

Die Visualisierung in den beiden Modellierungsvarianten unterscheidet sich bei radialen Charts optisch nur minimal durch die Schreibweise der Column Elemente (links) und der Measures (rechts):

Die Settings unterscheiden sich insofern, als in der Column Variante nur 1 Measure ("Sales") ausgewertet wird und dieses (dynamisch) nach den Elementen der Column ("Product Category") aufgegliedert wird. Im rechten Visual werden die 4 Measures "nebeneinander" im Wertebereich angeordnet und durch keine Column aufgegliedert:

Der Unterschied wird sichtbar beim Versuch, das Visual nach einem zweiten Merkmal ("Sales Country") aufzugliedern. In der Modellierungsvariante "Column" (links) kann frei entschieden werden, welche der beiden Columns als Legende (= Farbsegment) und welche als Detail (= Aufgliederung der Farbsegmente) verwendet wird. In der Modellierungsvariante "Measures" (rechts) wird das Set an Measures fix als Detail verwendet und kann daher in diesem Setting mit der Column Sales Country nur noch als Legende aufgegliedert werden (rechts unten). Die "mittlere" Darstellungsvariante ist daher mit dem Set an Measures nicht möglich.

Column vs. Measures mit Kartesischen Charts

Die Visualisierung unterscheidet sich bei kartesischen Charts massiv. In der Modellierungsvariante Measures wird das Set an Measures fix als Legende interpretiert, ein Auftragen der Measures auf der Y-Achse ist nicht möglich:

Die Settings sehen optisch fast gleich aus wie bei den radialen Charts (lediglich die Benennung der Bereiche Achse und Legende sind unterschiedlich):

Der Versuch, mit dem Grouped Bar Chart die Measures auf die Y-Achse zu bekommen gelingt zwar im Ansatz, aufgrund der zu geringen Konfigurationsmöglichkeiten ist die Darstellung in der Praxis aber kaum brauchbar:

Bei der Aufgliederung nach einem zweiten Merkmal ("Sales Country") werden wieder die gleichen Unterschiede wie bei den radialen Charts sichtbar. In der Modellierungsvariante "Column" (links) kann frei entschieden werden, welche der beiden Columns als Achse (= Balken) und welche als Legende (= Farbsegmente der Balken) verwendet wird. In der Modellierungsvariante "Measures" (rechts) stellt sich wieder heraus, daß bei der Detaillierung das Set an Measures fix als Legende verwendet wird und daher in diesem Setting nur noch das Feld Achse mit der Column Sales Country belegt werden kann (rechts unten). Die "mittlere" Darstellungsvariante ist daher mit dem Set an Measures auch hier nicht möglich.

Column vs. Measures mit Matrix/Table Visual

Die Visualisierung unterscheidet sich bei den tabellarischen Visuals wiederum auf den ersten Blick nur geringfügig. In der Modellierungsvariante "Measures" kann das Set an Measures wahlweise in den Zeilen oder Spalten dargestellt werden (Konfiguration über das Setting "In Zeilen"). Eine Gesamtsumme über alle Measures wird nicht automatisch gebildet (da das in vielen Fällen auch kontraproduktiv wäre), im konkreten Anwendungsfall kann dies aber leicht durch Hinzufügen des Basismeasures Sales kompensiert werden. Im Matrix Visual "fehlen" dann lediglich die Spaltenüberschriften (die aber auch nicht sinnvoll befüllt werden könnten) und das Basismeasure wird nicht automatisch fett formatiert (dies kann aber manuell eingestellt werden).

Die Settings sehen optisch wiederum sehr ähnlich wie in den beiden anderen Visualisierungsoptionen aus, anstelle von Achse und Legende sind hier die Bereiche für Zeilen und Spalten verfügbar:

Bei der Aufgliederung nach einem zweiten Merkmal ("Sales Country") im gleichen Bereich (hier: Zeilen) besteht in der Modellierungsvariante "Column" (links) wieder die freie Wahl der Über- und Unterordnung der beiden Columns innerhalb des Bereichs (dargestellt ist nur 1 Variante, kann aber ohne weiteres getauscht werden). In der Modellierungsvariante "Measures" werden die Measures hingegen fix als unterste Ebene interpretiert, eine Überordnung der Measures über die Column ist nicht möglich:

Bei der Aufgliederung nach einem zweiten Merkmal ("Month") im anderen Bereich (hier: Spalten) sind die Visualisierungen in beiden Modellierungsvarianten gleichwertig (oben). Ein sehr schmerzhafter Unterschied besteht allerdings bei der Auswertung nach weiteren Measures. Eine "Multiplikation" von Measures im Zeilenbereich mit weiteren Measures im Spaltenbereich ist nicht möglich, da Measures bisher keinen sogenannten Filterkontext für andere Measures liefern können. Daher ist die komprimierte Darstellung von Periodenwerten, YoY, YTD usw. in einem einzigen Matrix Visual nur in der Modellierungsvariante Columns (links) möglich!

Exkurs: Matrix Visual mit nur 1 Measure im Zeilenbereich

Ein Bug wird sichtbar, wenn in einem Matrix Visual die Darstellung der Measures auf "In Zeilen" eingestellt wird und nur 1 einziges Measure aufgetragen wird. In der Abbildung links ist zu sehen, daß die Measure Bezeichnung "Sales - Bikes" trotz gegenteiliger Einstellung in die Spaltenüberschrift gewandert ist. In der Abbildung rechts ist zu sehen, daß die Measure Bezeichnung ganz verloren geht, wenn der Spaltenbereich mit einer Column (hier: "Month") belegt wird:

Fazit

Das Wissen um die empfindlich eingeschränkten Visualisierungsmöglichkeiten eines Sets an Measures gegenüber einer Column kann (und sollte!) die vorgelagerte Datenmodellierung in Power BI stark beeinflußen.

Es ist auch eine wichtige Basis für jeden, der die DAX Formelsprache lernen möchte, da diese Visualisierungsaspekte für die Grundsatzentscheidung "Calculated Column vs. Measure" eine wichtige Rolle spielen, die jeder DAX Aufgabe zugrunde liegt. Außerdem handelt es sich um eine gute Übung zum Aufbau des Verständnisses des Filter Context in der Evaluierung von DAX Formeln.

Share on linkedin
Share on twitter
Share on facebook

Leave a Replay

Über den Autor

Blog auf Feedly abonnieren

Kategorien

Verwandte Beiträge

Kennen Sie schon data1.io?

data1.io ist unsere innovative Cloud Anwendung zum Sammeln, Aggregieren und Teilen von Geschäftsdaten innerhalb und außerhalb des Unternehmens.

Kostenlos zum Newsletter anmelden

Ihre Anfrage

Schicken Sie uns Ihre Fragen und Anregungen!