AVERAGE(Ventas[Importe]) promedia los valores de una columna tal como están en el modelo. AVERAGEX(tabla, expresión) recorre una tabla fila por fila, evalúa una expresión en cada fila y promedia los resultados. Usa AVERAGE cuando el número que quieres promediar ya existe en una columna; usa AVERAGEX cuando hay que calcularlo primero, como precio por cantidad o el total de ventas de cada día.
Sintaxis
Promedio importe = AVERAGE ( Ventas[Importe] )
Promedio calculado = AVERAGEX ( Ventas, Ventas[Cantidad] * Ventas[Precio] )
Venta diaria promedio = AVERAGEX ( VALUES ( Ventas[Fecha] ), [Ventas] )
AVERAGE | AVERAGEX | |
|---|---|---|
| Recibe | Una columna | Una tabla y una expresión |
| Promedia | Los valores de cada fila | El resultado de la expresión en cada fila de la tabla |
| Blancos | Los ignora | Ignora los resultados en blanco |
| Ceros | Los cuenta | Los cuenta |
| Sin filas | Devuelve BLANK() | Devuelve BLANK() |
AVERAGE(Ventas[Importe]) es, internamente, lo mismo que AVERAGEX(Ventas, Ventas[Importe]).
Paso a paso
- En Power BI Desktop, en la vista de informe, selecciona la tabla y elige Nueva medida.
- Escribe el nombre de la medida, el signo
=y la fórmula. - Si el valor está en una columna, usa
AVERAGE(Tabla[Columna]). - Si hay que calcularlo o agruparlo antes de promediar, usa
AVERAGEXcon la tabla que define qué se promedia: la tabla de hechos para promediar filas,VALUES(columna)para promediar por día, cliente o producto. - Arrastra la medida a un objeto visual y comprueba el total con un cálculo a mano.
Tabla de ejemplo Ventas (la columna Importe es Cantidad × Precio):
| Fecha | Producto | Categoría | Cantidad | Precio | Importe |
|---|---|---|---|---|---|
| 05/01/2026 | Café molido | Abarrotes | 2 | 95 | 190 |
| 05/01/2026 | Galletas | Abarrotes | 5 | 22 | 110 |
| 06/01/2026 | Detergente | Limpieza | 1 | 68 | 68 |
| 06/01/2026 | Café molido | Abarrotes | 1 | 95 | 95 |
| 07/01/2026 | Cloro | Limpieza | 3 | 25 | 75 |
| 07/01/2026 | Galletas | Abarrotes | 10 | 20 | 200 |
| 08/01/2026 | Detergente | Limpieza | 2 | 68 | 136 |
| 08/01/2026 | Jabón | Limpieza | 4 | 15 | 60 |
Ejemplos resueltos
Ejemplo 1: ticket promedio por renglón
Promedio importe = AVERAGE ( Ventas[Importe] )
En una tarjeta, el resultado es 116.75: 934 entre 8 renglones. En una tabla con Categoría en filas, la misma medida da 148.75 para Abarrotes y 84.75 para Limpieza, porque el contexto de filtro de cada fila deja solo los renglones de esa categoría. Si el modelo no tuviera la columna Importe, AVERAGEX(Ventas, Ventas[Cantidad] * Ventas[Precio]) daría exactamente lo mismo sin crear la columna.
Ejemplo 2: venta promedio por día
El dueño no quiere el promedio por renglón sino cuánto se vende en un día típico. Primero, una medida de total:
Ventas = SUM ( Ventas[Importe] )
Venta diaria promedio = AVERAGEX ( VALUES ( Ventas[Fecha] ), [Ventas] )
VALUES(Ventas[Fecha]) devuelve las 4 fechas con ventas. Para cada una, [Ventas] calcula el total del día (300, 163, 275 y 196) y AVERAGEX los promedia: 233.5. Al llamar una medida dentro de un iterador, DAX convierte la fila actual en un filtro (transición de contexto); por eso [Ventas] da el total de cada día y no el de toda la tabla. Si escribieras SUM(Ventas[Importe]) directamente, sin CALCULATE ni medida, obtendrías 934 en cada iteración.
Ejemplo 3: dos promedios de precio que no coinciden
Precio promedio simple = AVERAGE ( Ventas[Precio] )
El resultado es 51: el promedio de los 8 precios de lista. Pero esa cifra trata igual el renglón de 1 detergente que el de 10 paquetes de galletas. El precio promedio realmente pagado por unidad es 934 / 28 unidades = 33.36, y se calcula con un promedio ponderado, explicado en promedio ponderado en DAX. Antes de elegir la función, pregúntate qué cuenta como «uno»: un renglón, una unidad, un día o un cliente.
Errores comunes
AVERAGEcon una expresión.AVERAGE(Ventas[Cantidad] * Ventas[Precio])da error:AVERAGEsolo acepta una referencia a columna. UsaAVERAGEX.- Días sin ventas. Si iteras
VALUES('Calendario'[Fecha])y un día no tiene ventas,[Ventas]es blanco yAVERAGEXlo ignora: promedias solo los días con ventas. Para contarlos como cero, usa[Ventas] + 0dentro delAVERAGEX. - Columna en lugar de medida dentro de
AVERAGEX. Sin transición de contexto, cada iteración ve la tabla completa. Usa una medida o envuelve la expresión enCALCULATE. - Promedio de texto.
AVERAGEsobre una columna de texto devuelve blanco. Cambia el tipo de dato de la columna en Power Query.
Cómo afectan los blancos y los ceros, y qué hace AVERAGEA, está en AVERAGEA, blancos y ceros.
Fuentes
- Microsoft Learn, AVERAGE (DAX). Blancos y valores lógicos ignorados, ceros incluidos. Consultado el 11 de noviembre de 2026.
- Microsoft Learn, AVERAGEX (DAX). Sintaxis AVERAGEX(table, expression). Consultado el 11 de noviembre de 2026.