Power BI Anteil an Gesamtsumme Prozent: so klappt’s sauber (DAX, Power Query, Power Pivot)
Zusammenfassung
Prozentwerte wirken simpel, gehen in Power BI aber schnell schief, wenn die Gesamtsumme durch Filter und Drilldown „mitwandert“. Mit dem richtigen DAX-Measure bekommst du stabile Anteile, die sich im Report korrekt verhalten.
- Nutze ein DAX-Measure mit DIVIDE statt einer berechneten Spalte.
- Definiere die Gesamtsumme bewusst: ALL, REMOVEFILTERS oder ALLSELECTED je nach gewünschtem Verhalten.
- Debugge immer Zähler und Nenner getrennt, bevor du Prozent formatierst.
Zusätzlich: Wann Power Query (M) oder Power Pivot sinnvoll ist – und wann nicht.
Power BI Anteil an Gesamtsumme Prozent: so berechnest du ihn sauber – mit DAX, Beispielen und typischen Debugging-Schritten.
Definition
Der Prozentanteil an der Gesamtsumme beschreibt das Verhältnis eines Teilwerts (z. B. Umsatz einer Produktgruppe) zur passenden Gesamtsumme (z. B. Gesamtumsatz). In Power BI ist das typischerweise ein dynamisches DAX-Measure und keine statische Excel-Formel in einer Spalte.
Einleitung
Wenn du in Power BI „Anteil an Gesamtsumme“ als Prozent zeigen willst, ist die entscheidende Frage: Was genau ist die Gesamtsumme im aktuellen Filter- und Drilldown-Kontext? Genau daran scheitern viele Reports: plötzlich steht überall 100% oder der Nenner ist „zu klein“. Hier bekommst du eine klare Schritt-für-Schritt-Anleitung inklusive Beispiel und Debugging.
Warum Prozentwerte in Power BI oft falsch sind
Power BI rechnet immer im aktuellen Filterkontext: Visual-Filter, Datenschnitt (Slicer), Seitenfilter und Drilldown verändern, welche Zeilen überhaupt in SUM(Sales[Umsatz]) landen. Für einen Anteil brauchst du aber zwei Dinge: einen Zähler (aktueller Kontext) und einen Nenner (definierter „Total“-Kontext). Wenn beide identisch gefiltert sind, kommt 1 bzw. 100% heraus.
Schritt-für-Schritt: DAX-Measure für „Anteil an Gesamtsumme“
Beispiel-Datensatz: Tabelle Sales mit Spalten Sales[Umsatz], Sales[Produkt], Sales[Monat]. Baue zuerst zwei Measures, dann den Prozentsatz.
1) Zähler (aktueller Umsatz):
Umsatz = SUM(Sales[Umsatz])
2) Nenner (Gesamtsumme definieren):
Umsatz Gesamt (Produkte) = CALCULATE([Umsatz], ALL(Sales[Produkt]))
3) Prozentanteil:
Anteil an Gesamtsumme % = DIVIDE([Umsatz], [Umsatz Gesamt (Produkte)], 0)
Wichtig: Formatiere das letzte Measure als Prozentsatz. DIVIDE ist besser als „/“, weil du sauber mit 0 im Nenner umgehen kannst.
ALL, REMOVEFILTERS oder ALLSELECTED: welche Gesamtsumme meinst du?
Die Wahl der Total-Logik entscheidet, wie sich der Anteil bei Filtern verhält.
ALL(Sales[Produkt]) oder REMOVEFILTERS(Sales[Produkt]): Der Anteil bezieht sich auf alle Produkte, aber respektiert z. B. Monat/Region weiterhin. Das ist oft der Standard für „Marktanteil innerhalb der aktuellen Auswahl“.
ALL(Sales): Du entfernst alle Filter auf der Tabelle. Das ist nur korrekt, wenn du wirklich gegen den absoluten Grand Total rechnen willst (oft unerwünscht, weil Slicer dann ignoriert werden).
ALLSELECTED(Sales[Produkt]): Der Nenner orientiert sich an der sichtbaren Auswahl (z. B. Nutzer filtert Top-10-Produkte). Das ist passend, wenn der Anteil „innerhalb der selektierten Liste“ stimmen soll.
Mini-Beispiel mit Zahlen (Umsatz)
Drei Produkte: A=100, B=200, C=500. Gesamt=800. Der Anteil von A ist 100/800=12,5%. In einer Matrix mit Produktzeilen zeigt [Umsatz] pro Zeile den jeweiligen Wert, [Umsatz Gesamt (Produkte)] bleibt 800 (bei ALL auf Produkt), und DIVIDE liefert 12,5%, 25%, 62,5%.
Drilldown & Variablen: so bleibt die Gesamtsumme korrekt
Wenn du drillst (z. B. Kategorie → Produkt), muss der Nenner zur jeweiligen Ebene passen. Typischer Ansatz: Entferne Filter gezielt nur auf der Dimension, deren Anteil du berechnest (z. B. Produkt), aber lasse andere Filter (Monat, Land, Kunde) drin. Wenn du mehrere Ebenen in einer Hierarchie hast, prüfe, welche Spalte im Visual wirklich filtert (Kategorie oder Produkt) und setze ALL/REMOVEFILTERS genau dort an.
Power Query vs. DAX vs. Power Pivot: welche Methode ist wann richtig?
DAX-Measure ist die beste Wahl, wenn der Prozentanteil sich mit Filtern, Slicern und Drilldown dynamisch ändern muss.
Power Query (M-Code): sinnvoll, wenn du Daten vorab bereinigen oder gruppieren willst (z. B. Dubletten entfernen, Monatslogik vereinheitlichen). Für „Anteil an Gesamtsumme“ ist M meist falsch, weil das Ergebnis dann statisch ist und nicht auf Report-Filter reagiert.
Power Pivot: nutzt ebenfalls DAX (in Excel). Logik und Funktionen sind sehr ähnlich. Praktisch, wenn das Modell in Excel bleiben soll; für Sharing, Governance und Interaktivität ist Power BI meist der sauberere Zielzustand.
Typische Fehlerquellen und Debugging-Tipps
100% überall: Nenner ist nicht entfiltert. Prüfe, ob ALL/REMOVEFILTERS auf der richtigen Spalte sitzt.
Falscher Nenner durch falsche Tabelle: Wenn Produkt aus einer Dimensionstabelle kommt (empfohlen), nutze ALL(DimProdukt[Produkt]) statt Sales[Produkt]. Sonst kann der Filter „durchrutschen“ oder zu viel entfernen.
„Komische“ Totals in der Matrix: Totals sind ein eigener Kontext. Debugge mit zwei Karten: eine zeigt [Umsatz], eine zeigt [Umsatz Gesamt (Produkte)]. Dann siehst du sofort, ob der Nenner stabil ist.
Wann externe Unterstützung sinnvoll wird
Extern wird es sinnvoll, wenn die Prozentlogik in mehreren Berichten konsistent sein muss (Single Source of Truth) oder wenn unterschiedliche Teams unterschiedliche „Totals“ erwarten (z. B. Anteil am Monat, am Quartal, am selektierten Portfolio). Spätestens bei mehreren Datenquellen, inkonsistenter Stammdatenpflege oder Performance-Problemen lohnt sich ein kurzer Architektur- und Measure-Review, damit aus einem „Excel-nachgebauten Bericht“ ein belastbares Steuerungsinstrument wird.
Häufige Fragen
Warum nutze ich für Prozentanteile ein Measure und keine berechnete Spalte?
Weil ein Measure den Filterkontext des Reports nutzt und sich bei Datenschnitt, Drilldown und Visual-Interaktion korrekt neu berechnet. Eine berechnete Spalte ist statisch und führt bei interaktiven Reports oft zu falschen Anteilen.
Was ist der Unterschied zwischen ALL und ALLSELECTED?
ALL entfernt Filter (z. B. auf Produkt) komplett und berechnet den Nenner über alle Werte dieser Spalte. ALLSELECTED berücksichtigt die aktuelle Auswahl der Nutzer (z. B. Top-10-Auswahl) und berechnet innerhalb dieser sichtbaren Auswahl.
Welche DAX-Funktion ist am besten für die Division?
DIVIDE ist Best Practice, weil du ein Ergebnis für den Fall „Nenner = 0“ definieren kannst und keine Fehler im Visual erzeugst. Das macht Reports robuster.
Wie validiere ich, ob meine Gesamtsumme wirklich stimmt?
Erstelle ein eigenes Measure für den Nenner (Gesamtsumme) und zeige es als Karte oder in einer Tabelle neben dem Zähler. Wenn sich der Nenner beim Klicken auf ein einzelnes Produkt nicht verändert, ist die Entfilterung korrekt gesetzt.


.png)




