La media truncada proporciona una medida de promedio más robusta al excluir un porcentaje específico de los valores más pequeños y más grandes del cálculo. Modern PowerLa media truncada proporciona una medida de promedio más robusta al excluir un porcentaje específico de los valores más pequeños y más grandes del cálculo. Modern Power

Cálculo de una Media Truncada Dinámica en Power BI Usando DAX: Una Guía Rápida

2026/01/11 04:00
Lectura de 4 min
Si tienes comentarios o inquietudes sobre este contenido, comunícate con nosotros mediante crypto.news@mexc.com

Por qué necesitas una media truncada

En el análisis de datos, la función PROMEDIO estándar es una herramienta fundamental, pero tiene una debilidad significativa: es altamente susceptible a la distorsión por valores atípicos. Un solo valor extremo, ya sea alto o bajo, puede sesgar todo el resultado, tergiversando la verdadera tendencia central de los datos.

\ Aquí es donde la media truncada se vuelve esencial. Proporciona una medida más robusta del promedio al excluir un porcentaje específico de los valores más pequeños y más grandes del cálculo.

\ Aunque los modelos modernos de Power BI tienen una función TRIMMEAN integrada, esta función a menudo no está disponible cuando se usa una conexión en vivo a un modelo antiguo de Analysis Services (SSAS). Este artículo proporciona un patrón DAX manual robusto que replica esta funcionalidad y permanece completamente dinámico, respondiendo a todos los filtros y segmentaciones en tu informe.

La solución DAX para una media truncada dinámica

Esta medida calcula una media truncada del 20% eliminando el 10% inferior y el 10% superior de los valores antes de promediar el 80% restante.

\ Puedes pegar este código directamente en la barra de fórmulas de "Nueva medida".

Trimmed Mean (20%) = VAR TargetTable = 'FactTable' VAR TargetColumn = 'FactTable'[MeasureColumn] VAR LowerPercentile = 0.10 // Define el 10% inferior a recortar VAR UpperPercentile = 0.90 // Define el 10% superior a recortar (1.0 - 0.10) // 1. Encuentra el valor en el percentil 10 VAR MinThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, LowerPercentile ) // 2. Encuentra el valor en el percentil 90 VAR MaxThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, UpperPercentile ) // 3. Calcula el promedio, incluyendo solo valores entre los umbrales RETURN CALCULATE( AVERAGEX( FILTER( TargetTable, TargetColumn >= MinThreshold && TargetColumn <= MaxThreshold ), TargetColumn ) )

Desglosando la lógica DAX

Esta fórmula funciona en tres pasos distintos, todos los cuales se ejecutan dentro del contexto de filtro actual (por ejemplo, cualquier segmentación que el usuario haya seleccionado).

  1. Definir variables clave
  • TargetTable & TargetColumn: Asignamos los nombres de la tabla y la columna a variables para un código limpio y reutilizable. Debes cambiar 'FactTable'[MeasureColumn] para que coincida con tu modelo de datos.
  • LowerPercentile / UpperPercentile: Definimos los límites. 0.10 y 0.90 significan que estamos recortando el 10% inferior y el 10% superior. Para recortar el 5% de cada extremo (un recorte total del 10%), usarías 0.05 y 0.95.

2. Encontrar los umbrales de percentil

  • MinThreshold & MaxThreshold: Estas variables almacenan los valores reales que corresponden a nuestros límites de percentil.
  • PERCENTILEX.INC: Usamos esta función "iteradora" porque nos permite primero FILTRAR la tabla.
  • `FILTER(…, NOT(ISBLANK(…))): Este es un paso crucial. Calculamos los percentiles solo para las filas donde nuestra columna objetivo no está en blanco. Esto evita que los valores BLANK() sesguen el cálculo del percentil.
  • El resultado es que MinThreshold contiene el valor del percentil 10 (por ejemplo, 4.5) y MaxThreshold contiene el valor del percentil 90 (por ejemplo, 88.2) para los datos actualmente visibles.

3. Calcular el promedio final

  • RETURN CALCULATE(...): La función CALCULATE es la clave para hacer que la medida sea dinámica. Asegura que todo el cálculo respete los filtros aplicados por cualquier segmentación o visual en el informe.
  • AVERAGEX(FILTER(...)): El núcleo del cálculo. Usamos AVERAGEX para iterar sobre una tabla.
  • FILTER(...): Filtramos nuestra TargetTable una última vez. Este filtro es el "recorte". Mantiene solo las filas donde el valor en TargetColumn es:
  • Mayor o igual a nuestro MinThreshold
  • Y
  • Menor o igual a nuestro MaxThreshold
  • AVERAGEX(..., TargetColumn): AVERAGEX luego calcula el promedio simple de TargetColumn solo para las filas que pasaron el filtro.

Conclusión

Al implementar este patrón DAX, creas un KPI robusto, dinámico y resistente a valores atípicos. Esta medida proporciona una imagen más precisa de la tendencia central de tus datos y se recalculará correctamente sobre la marcha a medida que los usuarios interactúen con tu informe de Power BI.


Gracias por tomarte el tiempo para explorar información relacionada con datos conmigo. Aprecio tu participación. Si encuentras útil esta información, te invito a seguirme o conectarte conmigo en LinkedIn o X(@Luca_DataTeam). ¡Feliz exploración!👋

Oportunidad de mercado
Logo de Power Protocol
Precio de Power Protocol(POWER)
$0.18306
$0.18306$0.18306
-73.90%
USD
Gráfico de precios en vivo de Power Protocol (POWER)
Aviso legal: Los artículos republicados en este sitio provienen de plataformas públicas y se ofrecen únicamente con fines informativos. No reflejan necesariamente la opinión de MEXC. Todos los derechos pertenecen a los autores originales. Si consideras que algún contenido infringe derechos de terceros, comunícate a la dirección crypto.news@mexc.com para solicitar su eliminación. MEXC no garantiza la exactitud, la integridad ni la actualidad del contenido y no se responsabiliza por acciones tomadas en función de la información proporcionada. El contenido no constituye asesoría financiera, legal ni profesional, ni debe interpretarse como recomendación o respaldo por parte de MEXC.