Promedio por categoría en Power BI

Por el equipo de promedio.net · Actualizado el

En Power BI, un promedio por categoría no necesita una fórmula especial: pones la categoría en las filas de una tabla o en el eje de un gráfico y la medida AVERAGE(Ventas[Importe]) se calcula sola para cada una. Lo que sí requiere DAX es responder preguntas como «¿cuánto vende en promedio una categoría?» (AVERAGEX(VALUES(Ventas[Categoría]), [Ventas])) o «¿este producto está por encima del promedio de su categoría?», que necesita quitar el filtro de producto con REMOVEFILTERS.

Tres preguntas distintas

PreguntaMedidaResultado total
¿Cuál es el importe promedio por renglón?AVERAGE(Ventas[Importe])116.75
¿Cuánto vende en promedio cada categoría?AVERAGEX(VALUES(Ventas[Categoría]), [Ventas])467
¿Cuánto vende en promedio cada producto?AVERAGEX(VALUES(Ventas[Producto]), [Ventas])186.8

Las tres son «promedios por categoría» en lenguaje cotidiano, y dan números muy distintos. Los datos son los de la tabla Ventas de AVERAGE y AVERAGEX, con Ventas = SUM(Ventas[Importe]).

Paso a paso

  1. Escribe en una frase qué se promedia y entre qué: «el total de cada producto, entre los productos de la categoría».
  2. Lo que va después de «cada» es la tabla de AVERAGEX: VALUES(Ventas[Producto]).
  3. Lo que se promedia es la expresión: casi siempre una medida de total como [Ventas].
  4. Si la comparación debe ignorar un filtro del visual, quítalo con REMOVEFILTERS dentro de CALCULATE.
  5. En un modelo con dimensiones, usa las columnas de la dimensión (Productos[Categoría]), no las de la tabla de hechos.

Ejemplos resueltos

Ejemplo 1: promedio de renglón frente a promedio de totales

En una tabla con Categoría en filas:

Ticket promedio = AVERAGE ( Ventas[Importe] )

Venta promedio por producto = AVERAGEX ( VALUES ( Ventas[Producto] ), [Ventas] )
CategoríaVentasTicket promedioVenta promedio por producto
Abarrotes595148.75297.50
Limpieza33984.75113.00
Total934116.75186.80

Abarrotes tiene 4 renglones y 2 productos (café molido con 285 y galletas con 310): su ticket promedio es 595 / 4 y su venta promedio por producto, 595 / 2. Limpieza tiene 3 productos: 339 / 3 = 113. En el total, VALUES(Ventas[Producto]) devuelve los 5 productos: 934 / 5 = 186.8.

Ejemplo 2: cada producto contra el promedio de su categoría

Con Producto en las filas del visual, la medida debe quitar el filtro de producto pero conservar la categoría del producto actual:

Promedio de su categoría =
CALCULATE (
    AVERAGEX ( VALUES ( Ventas[Producto] ), [Ventas] ),
    REMOVEFILTERS ( Ventas[Producto] ),
    VALUES ( Ventas[Categoría] )
)

Diferencia vs categoría = [Ventas] - [Promedio de su categoría]
ProductoVentasPromedio de su categoríaDiferencia
Café molido285297.5−12.5
Galletas310297.512.5
Cloro75113−38
Detergente20411391
Jabón60113−53

VALUES(Ventas[Categoría]) se evalúa antes de quitar los filtros, en el contexto de la fila: para «Cloro» devuelve «Limpieza», y ese filtro se conserva. Por eso la medida funciona aunque Categoría no esté en el visual. Detergente es el único producto de Limpieza por encima del promedio.

Ejemplo 3: categorías que superan el promedio de todas

Para resaltar las categorías que venden más que la categoría promedio (467):

Promedio entre categorías =
CALCULATE (
    AVERAGEX ( VALUES ( Ventas[Categoría] ), [Ventas] ),
    REMOVEFILTERS ( Ventas[Categoría] )
)

Sobre el promedio = IF ( [Ventas] > [Promedio entre categorías], 1, 0 )

Abarrotes (595) da 1 y Limpieza (339) da 0. Usa Sobre el promedio en el formato condicional del visual, con la opción de valor de campo, para colorear las filas. Si el informe tiene un filtro de fecha, se respeta, porque solo se quitó el filtro de categoría.

Errores comunes

En SQL, la comparación con el promedio del grupo se hace con AVG() OVER (PARTITION BY ...); ver HAVING y filas sobre el promedio.

Fuentes

  1. Microsoft Learn, REMOVEFILTERS (DAX). Quitar filtros de columnas dentro de CALCULATE. Consultado el 11 de noviembre de 2026.
  2. Microsoft Learn, VALUES (DAX). Valores distintos de una columna en el contexto actual. Consultado el 11 de noviembre de 2026.