Unter den Power BI Einsteigern befinden sich viele User mit langjähriger Erfahrung in der Arbeit mit Excel. Doch gerade in diesem Szenario stelle ich regelmäßig fest, dass Vorgehensweisen aus Excel direkt auf Power BI übertragen werden und dann mit Verwunderung festgestellt wird, dass die erhofften Ergebnisse nicht erzielt werden. Ein häufiger Grund dafür ist, dass keine Measures verwendet werden oder deren Zusammenspiel mit den Filterkontext-Konzept nicht bekannt ist.
Wer in Power BI effektive Lösungen bauen möchte, kommt um Measures nicht herum. Daher verschaffe ich dir im Rahmen dieses Beitrags ein Verständnis über die grundlegenden Eigenschaften von Measures und bilde die Brücke zu einem weiteren fundamentalen Thema in der Arbeit mit Power BI, nämlich dem Filterkontext.
Wenn du bereits sehr viel mit Pivot-Tabellen gearbeitet hast, dann wirst du sogar sehr viele Parallelen zwischen Power BI Measures und dem Berechnungsverhalten einer Pivot-Tabelle feststellen. Der Unterschied besteht eigentlich nur darin, dass du bei Power BI Measures über die DAX-Sprache noch viel mehr Möglichkeiten hast, die Berechnungen zu beeinflussen.
Einführung zu Power BI Measures
Einfach beschrieben sind Measures in Power BI das Pendant zu den Formeln in Excel. Measures können in Power BI Desktop sowohl in der Datenmodellansicht als auch in der Reportansicht definiert werden. Measures basieren auf der Formel-Sprache DAX, was für Data Analysis Expression steht.

Wann kommen Measures zum Einsatz?
Nachdem du Daten mithilfe von Power Query in Power BI Desktop geladen hast und dein Datenmodell bereitsteht, startest du typischerweise direkt mit der Durchführung von Berechnungen unter Verwendung von Measures. Measures sind dein wichtigstes Werkzeug, wenn es um die Berechnung von KPIs und Metriken geht.
Implizite vs. Explizite Measures
In Power BI wird grundsätzlich zwischen impliziten Measures und expliziten Measures unterschieden.
Implizite Measures: Nach dem Laden der Daten in dein Datenmodell scannt Power BI deine Tabellen und erahnt dabei, welche Spalten potenziell für Berechnungen verwendet werden könnten. Dies betrifft im Prinzip alle Spalten, welche nicht als Schlüssel verwendet werden und ausschließlich Zahlenwerte beinhalten. Diese Spalten werden automatisch mit einem Summensymbol markiert. Power BI impliziert also, dass im Falle der Verwendung dieser Spalten eine Summenaggregation vorgenommen werden soll.
Das untere Beispiel zeigt die Verwendung einer solchen Spalte innerhalb eines Card Visuals.

Nun kommen wir zu dem Gegenstück der impliziten Measures, nämlich den expliziten Measures.
Explizite Measures: Dies sind Measures, welche du selbst definierst und dabei explizit bestimmst, was diese tun sollen. Denn vielleicht möchtest du ja nicht die Summe ziehen, sondern den Durchschnitt. Vielleicht möchtest du auch zusätzliche Multiplikation berücksichtigen oder innerhalb der Formel einen zusätzlichen Filter verwenden. Sobald du ein explizites Measure erstellt hast, findest du dieses in dem Tabellen-Layout auf der rechten Seite mit einem Taschenrechner markiert.
Folgend siehst du ein explizites Measures, welches mithilfe der DAX-Formel SUM() definiert wurde und ebenfalls innerhalb eines Card Visuals verwendet wird.

Bitte keine impliziten Measures verwenden: Wir wollen selbst bestimmen, wie Power BI rechnet. Deswegen fangen wir erst gar nicht an, implizite Measures zu nutzen. Wir erstellen stets explizite Measures, damit wir die Kontrolle über die Berechnungslogik behalten.
Measures vs. Calculated Columns vs. Calculated Tables
Wie oben beschrieben, wird für die Definition von Measures die DAX-Sprache verwendet. Darüber hinaus kann die DAX-Sprache aber auch für anderen Objekte verwendet werden, nämlich für sogenannte Calculated Columns und Calculated Tables. Dies ist in diesem Beitrag nicht unser Fokus, daher gibt es hier nur eine Kurzbeschreibung für die Einordnung dieser Objekte.
Calculated Columns sind separate Spalten, welche mithilfe von DAX in einer Tabelle des Datenmodells ergänzt werden können. Bei einer Calculated Column wird die verwendete DAX-Formel für jede Zeile der Tabelle ausgeführt und entsprechend der Formellogik sofort ein Wert ausgegeben.
Calculated Tables sind vergleichbar zu Calculated Columns. Nur wie der Name schon sagt, wird hier eine ganze Tabelle mithilfe der DAX-Formelsprache berechnet. Diese Tabellen können dann genauso wie Tabellen aus Power Query, direkt in dem Datenmodell verwendet sowie mit anderen Tabellen über Beziehungen verknüpft werden.
Hinweis zu Calculated Columns: Auch wenn Calculated Columns hier nur angerissen werden möchte ich gerne ergänzen, dass ich diese äußerst selten verwende und immer vermeide, wenn es geht. Die Verwendung von Calculated Columns wird sogar weit verbreitet auch als schlechte Praxis bewertet. Ein Grund hierfür ist, dass Spaltenberechnungen auch in Power Query durchgeführt werden können und aus Power Query bereitgestellte Daten in Power BI Desktop effizienter abgespeichert werden. Wenn ich persönlich Dashboard-Lösungen baue, schaue ich stets erst, ob die Anforderung über explizite Measures oder über Power Query zu lösen ist. Nur in Ausnahmefällen greife ich auf Calculated Columns zurück.
Funktionsweise von Power BI Measures
Nach einer kurzen Einführung bezüglich Measures, DAX und der weiteren Objekte kommen wir nun zu dem großen Vergleich zwischen Power BI Measures und klassischen Excel-Formeln mit dem Ziel, die Funktionsweise von Measures besser zu verstehen.
Da in Excel sehr viel tabellarisch stattfindet, verwenden wir in Power BI für den Vergleich ein Matrix Visual. Daher werde ich in diesem Rahmen auch auf elementare Unterschiede zwischen Excel-Spreadsheet und Power-BI-Matrix eingehen.
In den letzten Jahre gab es natürlich auch in der Excel-Welt einige Innovationen sowie neue Formeln, welche ganz neue Möglichkeiten mit sich bringen. Da der Fokus hier aber auf Power BI Measures liegt, verwende ich ausschließlich klassische Excel-Funktionen für den Vergleich.
Vorstellung der Beispieldaten
Damit du die folgenden Punkte besser nachvollziehen kannst, verwende ich ein einfaches Szenario mit Beispieldaten. In meinem Besipiel liegt uns in einer Excel-Datei eine einzige Tabelle mit Verkaufstransaktionen vor. Die Tabelle enthält die folgenden Spalten
- Date
- Customer Key
- Customer Name
- Product Key
- Product Name
- Channel Key
- Channel Name
- Value (Verkaufswert)

Während ich in Excel die Daten als Grundlage so lasse, bereite ich die Daten in Power BI Desktop mit Hilfe von Power Query nach dem Sternenschema auf. Mehr zum Sternenschema kannst du in diesem Beitrag finden. Nach der Durchführung der ETL-Aktivitäten sind mein Power BI Datenmodell wie folgt aus:

Für jede Dimension (Date, Product, Customer und Channel) gibt es eine separate Dimensionstabelle. Die Primärschlüssel sind mit PK_ und die Fremdschlüssel sind mit FK_ gekennzeichnet. Zwischen der Faktentabelle und den Dimensionstabelle besteht eine 1:n-Beziehung.
Vorstellung der fundamentalen Eigenschaften von Power BI Measures
Nun kommen wir zu der Erläuterung der fundamentalen Eigenschaften von Power BI Measures. Insbesondere bei den ersten Punkten, beschreibe ich zuvor das klassische Excel-Verhalten und zeige daran, inwiefern sich ein Power BI Measure anders verhält.
Power BI Measures rechnen mit Tabellen-, Spalten- und Measure-Bezügen
Excel-Formel:
In der Excel-Formeldefinition funktioniert die Berechnung über Verweise auf Zellbereiche oder einzelne Zellen. Dadurch ist es auch sehr leicht nachzuvollziehen, welche Werte in die Berechnung einfließen. Ich kann mir also auch die einzelnen Werte, auf welche verwiesen wird, direkt im Tabellenblatt anschauen.
Power BI Measure:
Bei Measures wird nicht auf Zellen oder Zellbereiche, sondern auf ganze Tabellen oder Tabellenspalten des Datenmodells sowie auf andere Measures verwiesen. Wenn nur bestimmte Zeilen einer Spalte berücksichtigt werden sollen, geschieht dies über Filter. Wie diese Filter funktionieren, werden wir mehr in den späteren Kapiteln erfahren, wenn es um den Filterkontext geht. Den klassischen Verweis auf eine Zelle oder einen Zellbereich gibt es in Power BI leider nicht. Dies ist typischerweise auch einer der größten Herausforderungen beim Umstieg von Excel auf Power BI.

Power BI Measure Speicherort und Verwendungsort sind losgelöst voneinander
Excel-Formel:
Bei der Excel-Formel entspricht der Verwendungsort auch dem Speicherort. Wenn du in einer Excel-Zelle E2 eine Formel erstellst, wird auch genau in dieser Zelle das zugehörige Ergebnis ausgewiesen. Wenn du die Formel in einer weiteren Zelle (z.B. E3 ) benutzen möchtest, kannst die Formel aus E2 nach E3 kopieren oder die Formel in E3 neu schreiben. Beide Formeldefinitionen sind aber an sich unabhängig anpassbar. Wenn ich die Formeldefinition in E3 später anpasse, bleibt die Formeldefinition in E2 unverändert. Beide Formeln sind also technische betrachtet unabhängige Objekte, es sei denn sie verweisen aufeinander. Nichtsdestotrotz gilt für E2 und E3, dass der Speicherort auch gleichzeitig der Berechnungsort ist.
Power BI Measure:
Ein Measure wird losgelöst erstellt und ist nicht an eine Tabelle oder Spalte gebunden. Bei der Erstellung wird das Measure zwar einer Home-Tabelle zugeordnet, diese hat jedoch keinerlei Einfluss auf die Berechnung oder auf die spätere Verwendung des Measures. Es ist völlig egal, bei welcher Tabelle das Measure liegt. das Measure kann alle Tabellen und Spalten anvisieren und in die Berechnungen einschließen. Daher ist es auch übliche Praxis, eine separate Tabelle anzulegen, welche keine Daten enthält und ausschließlich für die Ablage der Measures verwendet wird, eine sogenannte Measure-Tabelle. Ein einziges Measure kann in mehreren Visuals verwendet werden. Wenn ich aber die Formel des Measures später anpasse, wirkt sich diese Änderungen auf alle Visuals aus, welche das Measure direkt oder indirekt verwenden.

Power BI Measure Berechnungen erfolgen erst bei der Verwendung in Visuals
Excel-Formel:
Sofort, wenn die Formel innerhalb einer Zelle erstellt wurde, wird in der Zelle direkt ein Ergebnis ausgegeben.
Power BI Measure:
Die Berechnung der im Measure hinterlegten Formel erfolgt nicht direkt nach der Erstellung, sondern erst bei tatsächlicher Verwendung des Measures innerhalb eines Visuals. Sobald das Measure per drag & drop in das Visual eingefügt wird, liest das Measure unter Berücksichtigung der Formel das Datenmodell aus, führt anschließend die Kalkulation durch und gibt das Ergebnis wieder.

Power BI Measures replizieren sich innerhalb von Visuals
Excel-Formel:
Eine Excel-Formel wird immer nur in der Zelle berechnet, in welcher die Excel-Formel auch tatsächlich eingefügt wurde. Eine geschriebene Formel, wirft in genau einer Zelle ein Ergebnis aus. Wenn ich also die gleiche Formel für mehrere Zellen verwenden möchte, muss ich diese manuell kopieren.
Power BI Measure:
Auf Basis eines einzigen Measures können hingegen eine Vielzahl an Berechnungen durchgeführt werden.
Wenn du zum Beispiel ein Matrix-Visual benutzt, kannst du dieses in dem Zeilenfeld und dem Spaltenfeld mit Dimensionsfeldern befüllen. Mit Blick auf unser Beispiel könntest du einen Zeilenaufriss nach Kunden und einen Spaltenaufriss nach Produkt erstellen. Sobald du nun das Measure in dem Wertefeld ergänzt, passiert folgendes:
- Power BI berechnet das Measure separat für alle Kombinationen, welche sich aus den Dimensionsausprägungen (Kunde und Produkt) ergeben
- Bei jeder einzelnen Berechnung wird der entsprechende Filterkontext (siehe nächstes Kapitel) evaluiert und ein Ergebnis zurückgegeben
- Wenn eine Kombination tatsächlich einen Wert ausgibt (also nicht BLANK() / leer ist), dann wird auch die Dimensionsausprägung aufgelistet und der Wert ausgewiesen
- Neben den Kombinationen an sich werden auch Zwischensummen und die Gesamtsumme ausgegeben.
In unserem Beispiel ergeben sich auf Basis eines einzigen Measures, welches in ein Matrix-Visual mit 5 Kunden und 5 Produkten eingefügt wird, insgesamt 36 Berechnungen. Dies ergibt sich aus den 25 Dimensionskombinationen, 10 Teilsummen und einer Gesamtsumme.

Power BI Measure Ergebnisse werden durch den (interaktiven) Filterkontext bestimmt
- Excel-Formel:
Das Ergebnis einer Excel-Formel wird grundlegend durch zwei Kriterien bestimmt:
- die Formeldefinition auf Basis der Excel-Funktionen
- die Zellen und Zellbereiche, auf welche verwiesen wird
Power BI Measure:
Das Ergebnis eines Measures wird grundlegend aus drei Kriterien bestimmt
- die Formel-Definition auf Basis der DAX-Sprache
- die Tabellen und Spalten, auf welche verwiesen wird
- dem sogenannten Evaluierungskontext, welcher sich aus dem Row-Kontext und Filterkontext zusammensetzt
An diese Stelle klammere ich bewusst den Row-Kontext aus und konzentriere mich auf den Filterkontext, da dieser für den Start nach meiner Erfahrung höhere Relevanz hat. Nichtsdestotrotz gibt es an dieser Stelle wenigstens eine kurze Erläuterung für den Row-Kontext. Row-Kontext ist in Power BI das was in Excel passiert, wenn du mit der Formel SUMMENPRODUKT() arbeitest. Doch kommen wir nun zum Filterkontext.
Filterkontext: Der Filterkontext ist die Kombination aller Filter, welche bei der Berechnung eines Measures wirken. Diese Filter entstehen, wenn Felder (typischerweise aus Dimensionstabellen) in den folgenden Objekten verwendet werden:
- Seitenfilter
- Visual-Filter
- auf der Seite angelegte Slicer
- Dimensionsausprägungen der Zeilen und Spalten
- Dimensionsausprägungen der Achsen oder Legenden in Charts
Das besondere dabei ist, dass diese Felder nicht explizit in der Formel referenziert werden müssen und diese trotzdem als Filter wirken. Ob und wie die Felder Filterkontext erzeugen, wird durch das Datenmodell und insbesondere durch die Beziehungen zwischen den Tabellen bestimmt.
Das folgende Bild erweitert die oben verwendete Darstellung um den Filterkontext.

Die folgenden zwei Bilder zeigen, wie Filterkontext von außen auf ein Visual wirkt, jedoch auch wie Filterkontext innerhalb des Visuals erzeugt wird.


Power BI Measures können Filterkontext neu definieren
Wie oben beschrieben, kann der Filterkontext z.B. durch Anpassung der Slicer-Auswahl verändert wodurch sogar der Reportkonsument den Filterkontext verändern kann. Es gibt allerdings eine Liste von Funktionen, welche die Evaluierung und Anpassung des Filterkontexts ermöglichen. Dies sind zum Beispiel die Funktionen CALCULATE(), FILTER() oder ALL(). Es gibt aber noch viele weitere. Wichtig ist an dieser Stelle erst einmal zu verstehen, dass das Measure dem Filterkontext durch Visuals, Slicers u.s.w. nicht ausgeliefert ist.
In dem unten Beispiel wird zum Beispiel der Filterkontext, welcher aus dem Kundenamen resultiert, durch das Measure überschrieben. Obwohl jeder Kunde seine eigene Zeile hat, weist das Measures durch Verwendung der CALCULATE()-Funktion in jeder Zeile die Werte des Kunden 1 aus.

Für die Erläuterung der verschiedenen Funktionen und was technisch im Hintergrund bei deren Verwendung passiert, lässt sich eine Vielzahl an Beiträgen füllen. Da dieser Beitrag auf einen Einstieg in die Welt der Measures abzielt, solltest du an dieser Stelle erst einmal mitnehmen, dass es Filterkontext gibt, diese auf verschiedene Arten erzeugt wird und auch mittels verschiedener Funktionen manipuliert werden kann.
Besonders der Fakt, dass der Filterkontext durch verschiedenste Dimensionen erzeugt und sogar durch den Reportkonsumenten z.B. durch Slicer beeinflusst werden kann, erzeugt schnell Komplexität. Vor allem wenn es keine sauberes Datenmodell gibt, die Anforderungen komplexer werden und es zusätzlich an fundiertem Wissen über die Funktionen in diesem Zusammenhang fehlt, kommt es schnell zu Fehlern im Bericht. Daher ist es umso wichtiger, von Anfang an saubere Datenmodell aufzusetzen, welche etablierten Best Practices folgen.
Fazit
Dieser Beitrag gab dir eine Einführung in die wesentlichen Eigenschaften von Power BI Measures. Darüber hinaus haben wir einen ersten Blick auf das fundamentale Filterkontextkonzept geworfen. Ich hoffe, dass du aus dem Artikel die folgenden Punkte entnehmen konntest.
- Measures sind dein Nummer 1 Werkzeug für die Durchführung für Berechnungen in Power BI
- Als Daumenregel solltest du die Verwendung von Measures den Calculated Columns vorziehen
- Schreibe stets explizite Measures unter Verwendung der DAX-Sprache
- Measures verweisen in den Berechnungen auf Tabellen, Tabellenspalten und andere Measures
- Ein direkter Verweis auf Zellen oder Zellbereiche (wie in Excel) ist nicht möglich
- Für die Berechnungsergebnisse ist es völlig irrelevant, in welcher Home-Tabelle das Measure liegt
- Nicht die Measure-Erstellung, sondern die Verwendung in einem Visual löst Berechnungen aus
- Ein Measure kann in mehreren Visuals verwendet werden
- Measure-Berechnungen replizieren sich bei der Verwendung in Visuals mit Dimensionsaufrissen
- Neben der Formel selbst, bestimmt vor allem der Filterkontext das letztendliche Berechnungsergebnis
- Filterkontext wird durch diverse Objekte erzeugt, z.B. Slicer, Seitenfilter oder Aufrisse innerhalb von Visuals
- Der Filterkontext kann mit einer Vielzahl an DAX-Formeln neu definiert werden
- Effektive Measures verlangen ein sauberes Datenmodell sowie fundiertes Verständnis für Filterkontext
Ich freue mich sehr, dass du es bis hierhin geschafft hast! Bleib datenhungrig und bis bald!
Copyright notice and this permission notice for Microsoft icons used – https://github.com/microsoft/PowerBI-Icons: MIT License – Copyright (c) Microsoft Corporation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the „Software“), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.