Was ist der Unterschied zwischen einer berechneten Spalte und einem Measure?

Aufrufe: 16816

Der Einsatz von berechneten Spalten und Measures gehört zu den wichtigsten Kernelementen bei der Erstellung von Datenmodellen in Power BI. Das Prinzip der berechneten Spalte ist den meisten Benutzern von Power BI mit einem Excel Hintergrund ziemlich schnell klar. Der Einsatz eines Measures, oder deutsch berechnetes Feld, ist hingegen nicht immer intuitiv verständlich. Jedoch ist das Kennen der wichtigsten Unterschiede sehr zentral. In diesem Beitrag will ich aufzeigen, was der Unterschied zwischen einer berechneten Spalte und einem Measure ist.



Willst du Power BI lernen?
Auf unseren neuen Seite Power BI Coach haben wir einen Onlinekurs zusammengestellt.


Berechnete Spalten

Berechnete Spalten ergänzen eine bestehende Datentabelle um neue oder anders zusammengesetzte Datenspalten. Die berechnete Spalte entspricht im Verhalten einer originalen Spalte mit dem Unterschied, dass sie abhängig von anderen Spalten oder mit gänzlich neuen Werten berechnet wird.

Unabhängig davon, ob eine Spalte unverändert übernommen oder neu berechnet wird, dient sie als Bezugspunkt für Achsen, Zeilen- oder Spaltenbeschriftungen in Berichten. Oder sie sind Ausgangswert für berechnete Felder (Measures). Berechnete Spalten werden in Excel und Power BI Desktop jeweils während des Ladens Zeile für Zeile (Zeilenkontext) neu berechnet und gespeichert. Sobald die Spalten im Datenmodell geladen sind, bleiben sie bis zum nächsten Refresh unverändert.

Dies bedeutet aber auch, dass jede Spalte, ob original oder berechnet, immer Speicherplatz benötigt. Zu viele Spalten können ein Datenmodell erheblich verlangsamen.

Berechnete Spalte in Excel

Eine berechnete Spalte entspricht in Excel einer hinzugefügten Spalte mit fixierten Werten. Die Werte der Spalte ändern sich nur, wenn sich die Datenbasis ändert.

Das nachstehende Beispiel zeigt eine solche berechnete Spalte, welche, ausgehend von der Spalte “Produkt”, den jeweiligen Preis berechnet. Der Wert jeder Zeile in der neuen Spalte “Preis” ist immer abhängig vom Produkt der aktuellen Zeile.

berechnete Spalte Excel
berechnete Spalte Excel

Berechnete Spalte in Power Query

In Power Query (seit Excel 2016 “Daten abrufen und transformieren” genannt) erstellt ihr eine neue Spalte mittels “Spalte hinzufügen – benutzerdefinierte Spalte”.

Power Query - berechnete Spalte - Schritte 1_2
Power Query – berechnete Spalte – Schritte 1 und 2

Im nun geöffneten Dialog erfassen wir den Namen der neuen Spalte sowie die benötigte Formel. Die Formel ist ähnlich der vorherigen Excelformel und daher für Exceluser leicht verständlich.

Power Query - berechnete Spalte - Schritte 3_4
Power Query – berechnete Spalte – Schritte 3 und 4

Das Vorgehen und Verhalten sind praktisch gleich wie in Excel. Solange die Einträge in der Spalte “Produkt” unverändert bleiben, ändern sich die Werte in der Spalte “Preis” auch nicht.

Berechnete Spalte in Power Pivot (DAX)

In DAX (respektive Power Pivot) wird eine berechnete Spalte analog wie in Excel und Power Query erzeugt. Dazu klicken wir auf die nächste freie Spalte, benennen diese in Preis um und fügen die DAX-Formel ein.

Power Pivot - berechnete Spalte
Power Pivot – berechnete Spalte

Die Formel ist ähnlich zu den in Excel und Power Query verwendeten.

Unterschiede Power Query zu Power Pivot

Auf den ersten Blick ergeben sich keine Unterschiede. Wie ihr seht, ähneln sich die Formeln und sie berechnen die neuen Werte aus dem aktuellen Zeilenkontext der Tabelle.

Die Werte sind in beiden Vorgehensweisen fixiert und werden während des Ladens respektive Refresh der Daten berechnet und gespeichert. Verschiedene Tests haben keinen Unterschied zwischen Power Query und Power Pivot bezüglich Ladezeitverhalten ergeben.
Das Tool für die Erstellung von berechneten Spalten ist daher lediglich abhängig von den Vorlieben des Modellerstellers. Persönlich bevorzuge ich Power Query für den Import und Bearbeitung von Daten.

Measures (berechnete Felder)

Ein Measure ist ein dynamischer Wert, der jeweils im gegebenen Kontext, das heisst gewählte Filter und Dimensionen, berechnet wird. Die Berechnungsformel eines spezifischen Measures (zum Beispiel Umsatz) ändert sich nicht. Anders ausgedrückt, wird das Measure “Umsatz” für Produkt A einen anderen Wert aufweisen als für das Produkt B.

Auf den ersten Blick sehen sich Measures (berechnete Felder) und berechnete Spalten also ähnlich. Ein Measure verhält sich jedoch anders als die berechnete Spalte.

Der Wert des Measures verändert sich durch Benutzerinteraktionen, die berechnete Spalte jedoch nicht.

Sobald der Benutzer eine andere Dimension wie zum Beispiel Produktegruppe statt Produkt auswählt oder den Zeitbezug von Jahr auf Monat ändert, so wird das Measure vollständig neu berechnet. Dieses Konzept macht Measures im Gegensatz zu berechneten Spalten dynamisch.

In einer Excel Pivot Tabelle und in Power BI können wir uns diesen Umstand zu Nutze machen, indem wir zum Beispiel einen Filter aktivieren oder verändern. Oder wir verändern wie beschrieben den Bezug auf eine andere Dimension. In Power BI kennen wir auch noch das Konzept der Querfilterung (cross filter), welches die Neuberechnung von Measures auslöst.

Ein wichtiger Unterschied ist auch, dass Measures keinen Speicherplatz benötigen, da sie zur Laufzeit (Runtime) neu berechnet werden. Deshalb verhalten sich Measures, falls richtig angewandt, auch performanter als berechnete Spalten. Als Faustregel gilt, dass ein Measure innerhalb von maximal drei Sekunden neu berechnet werden sollte.

In Power BI und Power Pivot kennen wir zudem noch die beiden Measuretypen “implizit” und “explizit”. Die Beschreibung der Unterschiede würde den Rahmen dieses Beitrags sprengen und ich werde sie in einem weiteren Artikel aufzeigen.

Measures in Excel

Am einfachsten ist die Funktionsweise anhand einer Pivot Tabelle zu verstehen.

Excel Pivot - Measures
Excel Pivot – Measures

Der Wert des Measures “Umsatz” (1) ist abhängig von den beiden ausgewählten Dimensionen Produkt (2) und Zeitperiode (3). Berechnet wird das Measure einmalig mit der Formel [Anzahl] * [Preis]. Dasselbe Resultat kann ich in Excel ausserhalb einer Pivot Tabelle auch mit einer Summewenn-Formel erreichen.

Measures in Power Query

Ich mache es gleich kurz: Power Query ist ein klassisches ETL (Extract, Transform, Load) Werkzeug, welche Daten in einer Tabelle verändert. Power Query kann daher keine Measures berechnen.

Measures in Power Pivot (DAX)

Measures zu berechnen gehört zu den Stärken von Power Pivot. Zur Berechnung verwendet ihr DAX-Formeln. Diese Formeln können von einfachen Summierungen bis hin zu hoch komplexen Formeln reichen.
Ein Measure in Power BI resp. Power Pivot verhält sich, vereinfacht ausgedrückt, ähnlich der eines Measures in einer Excel Pivot Tabelle.
Ein Measure wird nie in der Spalte erfasst, auf welche es sich bezieht. In Power Pivot werden die Measure-Formeln immer unterhalb der Datenspalten erfasst, im Power BI Desktop auf der Benutzeroberfläche.

Im nachstehenden Beispiel habe ich in Power Pivot eine einfache Formel verwendet, welche den Umsatz berechnet.

Power Pivot - Measure
Power Pivot – Measure

Wenn ich nun die Tabelle aus Power Pivot ebenfalls in einer Excel-Pivot Tabelle darstelle (ich könnte denselben Effekt auch im Power BI Desktop zeigen), sehen wir das gleiche Resultat wie bereits oben gezeigt.
Das Measure (1) wird in der Pivot Tabelle im Wertebereich (2) abhängig vom gewählten Produkt (3) und der Zeitperiode (4) berechnet.

Power Pivot - Pivottabelle
Power Pivot – Pivottabelle

Zusammenfassung – Unterschied zwischen einer berechneten Spalte und einem Measure

Measures und berechnete Spalten dienen wie gesehen unterschiedlichen Zwecken. Ich habe mir deshalb auch angewöhnt, berechnete Felder nur als Measures zu bezeichnen um klar zu machen, von was ich gerade spreche.

Tabellenspalten, ob unverändert oder berechnet, gehören zu Tabellen und benötigen Speicherplatz. Die Daten in den Tabellen werden nur während des Ladens respektive Refresh aktualisiert.

Measures hingegen werden in-memory berechnet. Daher sind sie schneller und benötigen keinen Speicherplatz. Aus diesem Grund sollte wann immer möglich auf die Verwendung von Measures statt auf die Erstellung von berechneten Spalten zurückgegriffen werden.

Zudem können Spalten, sobald geladen oder aktualisiert, auch nicht mehr verändert werden. Measures hingegen reagieren auf Interaktionen des Benutzers.

Wann wendet ihr was an?

  • Verwendet für die Transformation oder Anreicherung von Daten berechnete Spalten.
  • Braucht hingegen für die Aggregierung und Berechnungen von Werten zu flexiblen Kennzahlen Measures. Diese stehen immer in Beziehung zu gewählten Dimensionen in Spalten und Zeilen sowie zu aktivierten Filtern.

Ich hoffe, dass ich mit diesem, doch etwas länger geratenen Beitrag, ein wenig den Unterschied zwischen einer berechneten Spalte und einem Measure aufzeigen konnte.

Wenn Ihr Fragen habt, so könnt ihr mich gerne kontaktieren.

Lust auf mehr? Mehr Artikel, insbesondere über Power Query, findet Ihr im Power Query Online Buch.

Happy Querying!

Ein Gedanke zu „Was ist der Unterschied zwischen einer berechneten Spalte und einem Measure?

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

%d Bloggern gefällt das: