Afgeknot gemiddelde biedt een robuustere maatstaf voor het gemiddelde door een bepaald percentage van de kleinste en grootste waarden uit te sluiten van de berekening. Modern PowerAfgeknot gemiddelde biedt een robuustere maatstaf voor het gemiddelde door een bepaald percentage van de kleinste en grootste waarden uit te sluiten van de berekening. Modern Power

Een dynamisch afgekapt gemiddelde berekenen in Power BI met DAX: een snelle handleiding

2026/01/11 04:00
4 min lezen
Voor feedback of opmerkingen over deze inhoud kun je contact met ons opnemen via crypto.news@mexc.com

Waarom je een afgekapte gemiddelde nodig hebt

Bij data-analyse is de standaard GEMIDDELDE-functie een werkezel, maar heeft het een belangrijke zwakte: het is zeer gevoelig voor verstoring door uitschieters. Een enkele extreme waarde, hoog of laag, kan het hele resultaat scheeftrekken en de werkelijke centrale tendentie van de data verkeerd weergeven.

\ Dit is waar het afgekapte gemiddelde essentieel wordt. Het biedt een robuustere maat voor het gemiddelde door een opgegeven percentage van de kleinste en grootste waarden uit te sluiten van de berekening.

\ Hoewel moderne Power BI-modellen een ingebouwde TRIMMEAN-functie hebben, is deze functie vaak niet beschikbaar bij gebruik van een Live Connection naar een ouder Analysis Services (SSAS)-model. Dit artikel biedt een robuust, handmatig DAX-patroon dat deze functionaliteit repliceert en volledig dynamisch blijft, en reageert op alle slicers en filters in je rapport.

De DAX-oplossing voor een dynamisch afgekapt gemiddelde

Deze meting berekent een 20% afgekapt gemiddelde door de onderste 10% en bovenste 10% van de waarden te verwijderen voordat het gemiddelde van de resterende 80% wordt genomen.

\ Je kunt deze code direct in de formulebalk "Nieuwe meting" plakken.

Trimmed Mean (20%) = VAR TargetTable = 'FactTable' VAR TargetColumn = 'FactTable'[MeasureColumn] VAR LowerPercentile = 0.10 // Defines the bottom 10% to trim VAR UpperPercentile = 0.90 // Defines the top 10% to trim (1.0 - 0.10) // 1. Find the value at the 10th percentile VAR MinThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, LowerPercentile ) // 2. Find the value at the 90th percentile VAR MaxThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, UpperPercentile ) // 3. Calculate the average, including only values between the thresholds RETURN CALCULATE( AVERAGEX( FILTER( TargetTable, TargetColumn >= MinThreshold && TargetColumn <= MaxThreshold ), TargetColumn ) )

De DAX-logica ontleden

Deze formule werkt in drie afzonderlijke stappen, die allemaal worden uitgevoerd binnen de huidige filtercontext (bijv. welke slicers de gebruiker heeft geselecteerd).

  1. Definieer belangrijke variabelen
  • TargetTable & TargetColumn: We wijzen de tabel- en kolomnamen toe aan variabelen voor overzichtelijke, herbruikbare code. Je moet 'FactTable'[MeasureColumn] wijzigen om overeen te komen met je datamodel.
  • LowerPercentile / UpperPercentile: We definiëren de grenzen. 0.10 en 0.90 betekenen dat we de onderste 10% en bovenste 10% afkappen. Om 5% van elk uiteinde af te kappen (in totaal 10% afkappen), zou je 0.05 en 0.95 gebruiken.

2. Vind de percentieldrempels

  • MinThreshold & MaxThreshold: Deze variabelen slaan de werkelijke waarden op die overeenkomen met onze percentielgrenzen.
  • PERCENTILEX.INC: We gebruiken deze "iterator"-functie omdat het ons in staat stelt om eerst de tabel te FILTEREN.
  • `FILTER(…, NOT(ISBLANK(…))): Dit is een cruciale stap. We berekenen de percentielen alleen voor rijen waar onze doelkolom niet leeg is. Dit voorkomt dat BLANK()-waarden de percentielberekening scheeftrekken.
  • Het resultaat is dat MinThreshold de waarde van het 10e percentiel bevat (bijv. 4.5) en MaxThreshold de waarde van het 90e percentiel bevat (bijv. 88.2) voor de momenteel zichtbare data.

3. Bereken het uiteindelijke gemiddelde

  • RETURN CALCULATE(...): De CALCULATE-functie is de sleutel tot het dynamisch maken van de meting. Het zorgt ervoor dat de hele berekening de filters respecteert die zijn toegepast door slicers of visuals in het rapport.
  • AVERAGEX(FILTER(...)): De kern van de berekening. We gebruiken AVERAGEX om over een tabel te itereren.
  • FILTER(...): We filteren onze TargetTable een laatste keer. Dit filter is de "afkapping". Het behoudt alleen de rijen waar de waarde in TargetColumn:
  • Groter dan of gelijk aan onze MinThreshold
  • EN
  • Kleiner dan of gelijk aan onze MaxThreshold
  • AVERAGEX(..., TargetColumn): AVERAGEX berekent vervolgens het eenvoudige gemiddelde van TargetColumn voor alleen de rijen die het filter hebben doorstaan.

Conclusie

Door dit DAX-patroon te implementeren, creëer je een robuuste, dynamische en uitschieter-resistente KPI. Deze meting biedt een nauwkeuriger beeld van de centrale tendentie van je data en zal correct opnieuw berekenen terwijl gebruikers met je Power BI-rapport interacteren.


Bedankt dat je de tijd hebt genomen om data-gerelateerde inzichten met mij te verkennen. Ik waardeer je betrokkenheid. Als je deze informatie nuttig vindt, nodig ik je uit om me te volgen of contact met me te maken op LinkedIn of X(@Luca_DataTeam). Veel plezier met verkennen!👋

Marktkans
Power Protocol logo
Power Protocol koers(POWER)
$0,0981
$0,0981$0,0981
+6,18%
USD
Power Protocol (POWER) live prijsgrafiek
Disclaimer: De artikelen die op deze site worden geplaatst, zijn afkomstig van openbare platforms en worden uitsluitend ter informatie verstrekt. Ze weerspiegelen niet noodzakelijkerwijs de standpunten van MEXC. Alle rechten blijven bij de oorspronkelijke auteurs. Als je van mening bent dat bepaalde inhoud inbreuk maakt op de rechten van derden, neem dan contact op met crypto.news@mexc.com om de content te laten verwijderen. MEXC geeft geen garanties met betrekking tot de nauwkeurigheid, volledigheid of tijdigheid van de inhoud en is niet aansprakelijk voor eventuele acties die worden ondernomen op basis van de verstrekte informatie. De inhoud vormt geen financieel, juridisch of ander professioneel advies en mag niet worden beschouwd als een aanbeveling of goedkeuring door MEXC.

$30,000 in PRL + 15,000 USDT

$30,000 in PRL + 15,000 USDT$30,000 in PRL + 15,000 USDT

Deposit & trade PRL to boost your rewards!