Power BI: Función SUMX y ejemplos

Power BI Función SUMX

La función de Power BI SUMX es una de las más potentes que hay en DAX. Esta función, junto a COUNTX, AVERAGEX, combinadas con otras como FILTER y CALCULATE proporcionan una gran versatilidad a la hora de realizar cálculos. De hecho, muchos de los análisis se podrían realizar sólo con estas funciones.

A menudo, nos hemos encontrado con clientes que no la usan, porque no la entienden y les parece demasiado compleja. Para ayudar a entenderla y facilitar el aprendizaje de la comunidad de Power BI, hemos decidido compartir esta entrada, en la que veremos la función SUMX junto a algunos ejemplos en Power BI. No obstante, esta es una de las funciones en las que hacemos más hincapié en nuestros cursos de Power BI, también en los cursos online.

 

SUMX

Según la definición de la guía de Microsoft, SUMX devuelve una expresión evaluada para cada fila de una tabla. Es decir, la función evalúa la expresión que le pasemos, y en cada fila obtiene un resultado, el cual es sumado al final.

Los argumentos de la función SUMX son dos. El primero de ellos es una tabla, o una expresión que devuelva una tabla. En este argumento podemos pasarle una tabla filtrada con FILTER, por ejemplo, para aplicar la función solamente a determinadas filas. El segundo argumento es la expresión que se aplicará a cada fila de la tabla que hayamos indicado. Esta expresión puede servir para indicador los elementos de una columna, de forma que se sumen, o para indicador algún tipo de operación.

Veamos algún ejemplo de cómo usar la función SUMX:

 

Ejemplo SUMX 1

Para este ejemplo usaremos la siguiente tabla, que ya hemos usado en otras entradas.

Funcion SUMX

Usaremos la función SUMX para sumar cada uno de los elementos de la columna [Cantidad]. Para ello, podemos crear tanto una columna calculada, como una medida, el resultado es el mismo.

Power BI SUMX

Ejemplo SUMX

En esta ocasión, los argumentos que hemos pasado a la función son la tabla Productos, y la columna [Cantidad]. Por lo tanto, la evaluación fila a fila de la expresión que hemos indicado lo que hará será solamente considerar los elementos de la columna [Cantidad] para sumarlos finalmente, sin realizar ninguna operación sobre ellos.

 

Ejemplo SUMX 2

Antes de añadir operaciones en el segundo argumento, vamos a ver otro ejemplo. En lugar de una columna, en el segundo argumento de SUMX añadiremos el número 1.

Funcion SUMX ejemplo

Para cada una de las filas de la tabla, la función considera el número 1, y acaba sumándolos todos. Como hay 20 filas en esta tabla, el resultado es el número de 20. Para ayudar a entender cómo funciona esta función paso por paso, podemos imaginar que antes de mostrar el resultado de la nueva columna calculada, se crea una columna auxiliar, en la que se escribirá el resultado de la expresión a evaluar, para terminar sumando todos los elementos de esa columna auxiliar. En este ejemplo es como si se añadiera una columna auxiliar solo con unos y se sumara. En el ejemplo anterior, esa columna auxiliar imaginaria contendría los mismos elementos que la columna [Cantidad].

 

Ejemplo SUMX 3

Ahora combinaremos los dos ejemplos anteriores para pasarle una función una operación. En este caso se sumará un 1 a cada valor de la columna [Cantidad]. En la siguiente imagen podemos ver cómo se escribiría la expresión.

Ejemplo SUMX Power BI

La evaluación que se ha realizado, fila por fila, sería sumar 1 a cada elemento de [Cantidad]. En la primera fila, se habría tomado el valor 1, de la primera fila de la columna [Cantidad], y se le habría sumado 1, obteniendo un 2 para esa primera fila. En la segunda, al aplicar la misma operación se obtendría un 3. La función realizaría esta operación para todas las filas, y sumaría todos los resultados obtenidos.

 

SUMX y FILTER

Al principio hemos mencionado que el primer argumento de SUMX puede ser tanto una tabla, como una expresión que devuelva una tabla, como la función FILTER. Mediante la función FILTER podríamos hacer que SUMX sólo evaluara la expresión en ciertas filas de la tabla, por ejemplo, las correspondientes al producto Azul.

Power BI funcion SUMX ejemplo

Este sería el resultado de aplicar la función del segundo ejemplo, considerando las filas del producto azul. La función, en cada una de las veinte filas de la tabla, lo que hace es filtrar por “Azul” y considerar un 1. Como hay 8 filas con Azul, el resultado al sumar esos unos es un 8.

Este uso de la función SUMX junto a FILTER puede ser muy parecido a usar CALCULATE y SUM. En esta ocasión, se está representando el resultado en columnas calculadas en la misma tabla y el resultado de aplicar en una SUMX y en otra CALCULATE y SUM sería el mismo. Pero en otras ocasiones, como al crear una medida para cada función y representarlas en una tabla de un informe con una fila para cada color, el resultado puede ser distinto, y sólo uno nos sería válido.

Como ya hemos comentado al principio, el objetivo de esta entrada es compartir un mínimo de las características de la función SUMX. Los usos y la potencia de esta función son mucho más grandes de lo que se ha visto. Por eso, buena parte de ese potencial nos encargamos de explicarlo en nuestros cursos de Power BI online y presenciales.

 

¿Te ha sido útil este artículo? Deja tu opinión en los comentarios.

 

También te puede interesar:

  • CALCULATE. La función más potente de DAX
  • Función FILTER, ALL y ALLEXCEPT
  • Cursos de Power BI

DEJA UNA RESPUESTA

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *