Función SUMX

Un ejemplo muy sencillo es el de la función SUMX. Esta función -función de agregación- va a recorrer una tabla fila por fila obteniendo un valor para cada fila, valores que, al final, se van a sumar para devolver un único resultado. Es decir, la función genera valores parciales (uno por fila) que suma al final.

Por poner un ejemplo, supongamos que queremos obtener la suma de la columna Amount de la tabla Sales. Ya hemos visto que podemos obtener este resultado usando la función SUM:

Sales = SUM(Sales[Amount])

Pero también podríamos obtener el mismo resultado usando la función SUMX, iterando la tabla Sales y obteniendo, para cada fila, el valor contenido en la columna Amount:

SalesX = 
SUMX(
    Sales,
    Sales[Amount]
)

Una vez obtenido el valor de Sales[Amount] para cada fila, la función SUMX devuelve la suma de todos ellos.

Lo importante aquí es que, mientras itera la tabla, la evaluación del segundo argumento (en este caso Sales[Amount]) se realiza en contexto de fila. De hecho, podemos ver que estamos haciendo referencia a la columna Sales[Amount] sin usar una función de agregación.

Si llevamos ambas medidas a una tabla desagregada, por ejemplo, por país, el resultado es el mismo para ambas:

Función SUMX