Media trunchită oferă o măsură mai robustă a mediei prin excluderea unui procent specificat din cele mai mici și cele mai mari valori din calcul. Modern PowerMedia trunchită oferă o măsură mai robustă a mediei prin excluderea unui procent specificat din cele mai mici și cele mai mari valori din calcul. Modern Power

Calcularea unei Medii Trunchiate Dinamice în Power BI Folosind DAX: Un Ghid Rapid

2026/01/11 04:00
4 min de lectură
Pentru opinii sau preocupări cu privire la acest conținut, contactează-ne la crypto.news@mexc.com

De Ce Aveți Nevoie de o Medie Trunchiată

În analiza datelor, funcția standard AVERAGE este un instrument de bază, dar are o slăbiciune semnificativă: este foarte susceptibilă la distorsiuni cauzate de valorile extreme. O singură valoare extremă, fie mare, fie mică, poate denatura întregul rezultat, reprezentând greșit tendința centrală reală a datelor.

\ Aici intervine media trunchiată. Aceasta oferă o măsură mai robustă a mediei prin excluderea unui procent specificat din cele mai mici și cele mai mari valori din calcul.

\ În timp ce modelele Power BI moderne au o funcție TRIMMEAN integrată, această funcție este adesea indisponibilă atunci când se folosește o conexiune Live la un model Analysis Services (SSAS) mai vechi. Acest articol oferă un model DAX manual robust care reproduce această funcționalitate și rămâne complet dinamic, răspunzând la toate segmentările și filtrele din raportul dvs.

Soluția DAX pentru o Medie Trunchiată Dinamică

Această măsură calculează o medie trunchiată de 20% prin eliminarea celor 10% valori de jos și 10% valori de sus înainte de calcularea mediei pentru restul de 80%.

\ Puteți lipi acest cod direct în bara de formule "New Measure".

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 ) )

Deconstruirea Logicii DAX

Această formulă funcționează în trei pași distincți, toți executându-se în contextul curent al filtrului (de exemplu, oricare segmentări selectate de utilizator).

  1. Definiți Variabilele Cheie
  • TargetTable & TargetColumn: Atribuim numele tabelului și coloanei variabilelor pentru un cod curat și reutilizabil. Trebuie să schimbați 'FactTable'[MeasureColumn] pentru a se potrivi cu modelul dvs. de date.
  • LowerPercentile / UpperPercentile: Definim limitele. 0.10 și 0.90 înseamnă că eliminăm cei 10% de jos și cei 10% de sus. Pentru a elimina 5% de la fiecare capăt (o eliminare totală de 10%), ați folosi 0.05 și 0.95.

2. Găsiți Pragurile Percentilelor

  • MinThreshold & MaxThreshold: Aceste variabile stochează valorile reale care corespund limitelor noastre de percentilă.
  • PERCENTILEX.INC: Folosim această funcție "iterator" deoarece ne permite să aplicăm mai întâi FILTER pe tabel.
  • `FILTER(…, NOT(ISBLANK(…))): Acesta este un pas crucial. Calculăm percentilele doar pentru rândurile în care coloana noastră țintă nu este goală. Acest lucru previne ca valorile BLANK() să denatureze calculul percentilei.
  • Rezultatul este că MinThreshold conține valoarea percentilei a 10-a (de ex., 4.5) și MaxThreshold conține valoarea percentilei a 90-a (de ex., 88.2) pentru datele vizibile în prezent.

3. Calculați Media Finală

  • RETURN CALCULATE(...): Funcția CALCULATE este cheia pentru a face măsura dinamică. Aceasta asigură că întregul calcul respectă filtrele aplicate de orice segmentări sau elemente vizuale din raport.
  • AVERAGEX(FILTER(...)): Nucleul calculului. Folosim AVERAGEX pentru a itera peste un tabel.
  • FILTER(...): Filtrăm TargetTable o ultimă dată. Acest filtru este "trunchierea". Păstrează doar rândurile în care valoarea din TargetColumn este:
  • Mai mare sau egală cu MinThreshold nostru
  • ȘI
  • Mai mică sau egală cu MaxThreshold nostru
  • AVERAGEX(..., TargetColumn): AVERAGEX calculează apoi media simplă a TargetColumn doar pentru rândurile care au trecut de filtru.

Concluzie

Prin implementarea acestui model DAX, creați un KPI robust, dinamic și rezistent la valorile extreme. Această măsură oferă o imagine mai precisă a tendinței centrale a datelor dvs. și se va recalcula corect în timp real pe măsură ce utilizatorii interacționează cu raportul dvs. Power BI.


Vă mulțumesc pentru că v-ați luat timpul să explorați perspective legate de date împreună cu mine. Apreciez implicarea dvs. Dacă găsiți aceste informații utile, vă invit să mă urmăriți sau să vă conectați cu mine pe LinkedIn sau X(@Luca_DataTeam). Explorare plăcută!👋

Oportunitate de piață
Logo Power Protocol
Pret Power Protocol (POWER)
$0.52397
$0.52397$0.52397
-25.31%
USD
Power Protocol (POWER) graficul prețurilor în timp real
Declinarea responsabilității: Articolele publicate pe această platformă provin de pe platforme publice și sunt furnizate doar în scop informativ. Acestea nu reflectă în mod necesar punctele de vedere ale MEXC. Toate drepturile rămân la autorii originali. Dacă consideri că orice conținut încalcă drepturile terților, contactează crypto.news@mexc.com pentru eliminare. MEXC nu oferă nicio garanție cu privire la acuratețea, exhaustivitatea sau actualitatea conținutului și nu răspunde pentru nicio acțiune întreprinsă pe baza informațiilor furnizate. Conținutul nu constituie consiliere financiară, juridică sau profesională și nici nu trebuie considerat o recomandare sau o aprobare din partea MEXC.