Power Pivot – Wichtige FunktionenDen Median mit MEDIANX() berechnen
Warum der Median oft aussagekräftiger ist als der Durchschnitt
Im Controlling und Reporting greifen viele Anwender automatisch zum Durchschnitt oder arithmetischen Mittel, wenn sie Kennzahlen analysieren – etwa den durchschnittlichen Bestellwert oder den durchschnittlichen Umsatz pro Kunde.
Doch der Durchschnitt allein kann täuschen, insbesondere wenn Ihre Daten Ausreißer enthalten: einzelne, außergewöhnlich hohe oder niedrige Werte, die das Ergebnis verzerren.
Eine Alternative, die Ihnen ein realistischeres Bild von Ihren Daten liefert, ist der Median.
In Power Pivot steht Ihnen dafür die Funktion MEDIANX() zur Verfügung. Sie ermöglicht es, den Median auch über berechnete Werte zu bilden – etwa über den Bestellwert, der aus Menge × Preis entsteht.
Wie Median und Mittelwert berechnet werden
Der arithmetische Mittelwert (oder Durchschnitt) wird berechnet, indem Sie alle Werte addieren und durch ihre Anzahl teilen.
Beispiel: (10 + 10 + 10 + 200) ÷ 4 = 57,5
Obwohl drei Bestellungen bei 10 EUR liegen, hebt eine einzige große Bestellung von 200 EUR den Durchschnitt stark an.
Der Median dagegen ist der mittlere Wert einer sortierten Liste.
Bei denselben Daten (10, 10, 10, 200) ist der Median (10 + 10) ÷ 2 = 10.
Damit spiegelt der Median viel besser wider, was „typisch“ ist.
Vorteil des Medians
Der Median ist robust gegen Ausreißer und zeigt die Zentralposition der Werteverteilung, nicht deren Durchschnitt. Im Business-Kontext kann das entscheidend sein.
Wenn Sie wissen wollen, was eine typische Bestellung ausmacht, ist der Median oft informativer. Wenn Sie Preisstrategien oder Lieferzeiten beurteilen, hilft der Median, realistische Orientierungswerte zu liefern.
Funktionsweise von MEDIANX()
In Excel kennen Sie vielleicht die Funktion =MEDIAN(Bereich), die den Median eines Zellbereichs berechnet. In DAX – und damit in Power Pivot – funktioniert das ähnlich, aber mit mehr Flexibilität.
Syntax:
MEDIANX(<Tabelle>, <Ausdruck>)
- <Tabelle>: Die Tabelle oder Zeilenmenge, über die iteriert wird.
- <Ausdruck>: Der Ausdruck, der pro Zeile berechnet wird (zum Beispiel Menge × Preis).
Der Unterschied zu MEDIAN() liegt darin, dass MEDIANX() zeilenweise rechnet. Das bedeutet: Für jede Zeile einer Tabelle wird zunächst ein Wert berechnet, und aus allen berechneten Werten wird anschließend der Median bestimmt. Damit gehört MEDIANX() zur Familie der sogenannten Iteratorfunktionen – wie auch SUMX() oder AVERAGEX().
Unterschied zwischen MEDIAN() und MEDIANX()
Mit MEDIAN() könnten Sie zum Beispiel den Medianpreis eines Produkts bestimmen. Die Syntax lautet:
MEDIAN(tbl_Produkte[Einzelpreis])
Mit MEDIANX() hingegen können Sie komplexere Szenarien abbilden – etwa den Median aller Bestellwerte, die sich aus Menge × Preis ergeben. Die Syntax lautet:
MEDIANX(tbl_Bestellungen; tbl_Bestellungen[Menge] * RELATED(tbl_Produkte[Einzelpreis]))
Beispiel: Median der Bestellwerte in Ihrem Datenmodell
Mit dem folgenden Measure können Sie den Median aus dem Umsatz je Bestellung im Datenmodell berechnen:
MedianBestellwert :=MEDIANX(VALUES(tbl_Bestellungen[BestellID]); CALCULATE([UmsatzjeBestellung]))
Schritt-für-Schritt-Erklärung
- VALUES(tbl_Bestellungen[BestellID]): Erstellt eine Liste aller eindeutigen Bestellungen im aktuellen Kontext (zum Beispiel für ein bestimmtes Jahr oder einen Kunden).
- CALCULATE([UmsatzjeBestellung]): Berechnet für jede dieser Bestellungen den Bestellwert.
- MEDIANX(): Bildet aus allen Bestellwerten die sortierte Liste und ermittelt daraus den Medianwert.
Das Measure [UmsatzjeBestellung] wurde bereits früher in dieser Anleitung definiert als:
UmsatzjeBestellung :=SUMX(FILTER(tbl_Bestellungen; NOT(ISBLANK(tbl_Bestellungen[BestellID]))); tbl_Bestellungen[Menge] * RELATED(tbl_Produkte[Einzelpreis]))
So funktioniert die Berechnung. Angenommen, die Bestellwerte sind:
- Bestellung 1001 → 3 × 10 = 30
- Bestellung 1002 → 5 × 20 = 100
- Bestellung 1003 → 1 × 15 = 15
- Bestellung 1004 → 8 × 5 = 40
- Sortiertes Ergebnis: 15 | 30 | 40 | 100
- Median = (30 + 40) ÷ 2 = 35
Der typische Bestellwert liegt also bei 35 EUR, auch wenn eine Bestellung mit 100 EUR deutlich aus der Reihe fällt.
Anwendung im Controlling und in der Praxis
Der Median wird oft unterschätzt, hat aber im Reporting große Bedeutung:
- Kundenanalyse: Der Median-Bestellwert zeigt, was Ihre Kunden typischerweise kaufen – unabhängig von großen Einzelaufträgen.
- Monatsvergleich: Wenn Sie den Medianumsatz pro Monat berechnen, erkennen Sie Trends, ohne dass einzelne Spitzenmonate die Analyse verzerren.
- Lieferzeiten: Der Median der Lieferzeiten gibt an, wann Bestellungen meistens eintreffen, während der Durchschnitt durch wenige Ausreißer nach oben gezogen werden kann.
- Einkauf und Preisverhandlung: Der Median der Einkaufspreise zeigt, was Sie „üblicherweise“ bezahlen, auch wenn einzelne Sonderpreise den Durchschnitt verschieben würden.
Gerade bei nicht symmetrisch verteilten Daten (wie Umsätzen, Lieferzeiten oder Projektkosten) liefert der Median oft die relevanteren Erkenntnisse.
Erweiterte Analysen mit MEDIANX()
Median pro Kunde:
Median_jeKunde :=MEDIANX(VALUES(tbl_Bestellungen[KundeID]); CALCULATE([UmsatzjeBestellung]))
Median pro Jahr (über tbl_Kalender):
Median_jeJahr :=CALCULATE([MedianBestellwert]; VALUES(tbl_Kalender[Jahr]))
Medianwertvergleich mit Durchschnitt:
DurchschnittBestellwert :=AVERAGEX(VALUES(tbl_Bestellungen[BestellID]); CALCULATE([UmsatzjeBestellung]))
Wenn Median und Durchschnitt stark voneinander abweichen, ist das ein klares Indiz dafür, dass Ihre Daten nicht gleichmäßig verteilt sind – also, dass es Ausreißer gibt.
Hintergrund: Median in der Statistik
Der Median ist einer der drei sogenannten Lageparameter:
- Mittelwert (arithmetisches Mittel) – sensitiv gegenüber Ausreißern
- Median (Zentralwert) – robust, ordnet Werte mittig
- Modus (häufigster Wert) – zeigt, welcher Wert am häufigsten vorkommt
Während der Mittelwert vor allem bei symmetrischen Verteilungen (zum Beispiel Körpergrößen) sinnvoll ist, eignet sich der Median für asymmetrische Datenverteilungen, wie sie in Wirtschaftsdaten üblich sind (zum Beispiel Umsatz pro Kunde, Projektdauer, Rechnungsbeträge).
Technische Hinweise
MEDIANX() beachtet den aktuellen Filterkontext Ihrer Pivot-Tabelle. Wenn Sie also nach Jahr, Produktgruppe oder Kunde filtern, wird der Median für den jeweiligen Ausschnitt neu berechnet.
Durch CALCULATE() können Sie gezielt steuern, welche Filter beibehalten oder entfernt werden.
Für sehr große Tabellen ist MEDIANX() etwas rechenintensiver, da die Werte intern sortiert werden müssen – die höhere Aussagekraft rechtfertigt diesen Aufwand jedoch meist.
Fazit
Mit der Funktion MEDIANX() können Sie Medianwerte auf Basis komplexer Berechnungen bestimmen und dadurch den „typischen“ Wert Ihrer Daten sichtbar machen.
Sie erhalten:
- realistischere Kennzahlen,
- robustere Vergleiche und
- eine klarere Aussage über das tatsächliche Kunden- oder Bestellverhalten.
Merksatz:
- Verwenden Sie MEDIAN(), wenn Sie den Median einer Spalte ermitteln wollen.
- Verwenden Sie MEDIANX(), wenn Sie pro Zeile rechnen oder kontextabhängige Berechnungen durchführen möchten.



