sum-vs-sumx

SUM vs SUMX: Diferencias y aplicaciones en Power BI, ¡descubre cuál usar!

Tabla de contenidos

En Power BI, las funciones SUM y SUMX tienen diferencias y aplicaciones específicas. SUM realiza una suma total de valores en una columna, mientras que SUMX realiza cálculos fila por fila y suma los resultados. SUM es recomendado para sumar valores de una sola columna, mientras que SUMX es más flexible y permite realizar operaciones en cada fila. Además, SUM puede considerarse una forma simplificada de escribir SUMX (de esto hablaremos mas adelante). A continuación, exploraremos sus aplicaciones y la relación entre ambas funciones, veamos cuándo utilizar SUM vs SUMX.

Diferencias entre SUM y SUMX en Power BI

En el contexto de Power BI, las funciones SUM y SUMX pertenecen a diferentes motores de cálculo. Mientras que SUM utiliza el motor agregador, SUMX utiliza el motor iterador. ¿Qué significa esto?

El motor agregador es responsable de realizar cálculos de agregación en un conjunto de datos, como la suma total de valores en una columna. Por otro lado, el motor iterador se encarga de realizar cálculos fila por fila, iterando a través de cada fila de una tabla y aplicando expresiones y operaciones en cada una de ellas.

SUM: Suma total de valores en una columna (SUM vs SUMX)

La función SUM se utiliza para calcular la suma total de todos los valores en una columna de datos en Power BI. Su funcionamiento es sencillo: toma todos los valores de la columna especificada y los suma, devolviendo el resultado en una sola fila. A diferencia de SUMX, no realiza cálculos fila por fila.

Esta función es especialmente útil cuando se necesita calcular rápidamente la suma de una sola columna sin necesidad de realizar operaciones adicionales en cada fila. Por ejemplo, si queremos obtener la suma total del importe de todos los productos de una tabla, podemos utilizar la función SUM y obtener el resultado deseado de manera eficiente.

SUMX: Cálculos fila por fila y sumar resultados (SUMX vs SUM)

En contraste, la función SUMX se utiliza para realizar cálculos fila por fila en Power BI. Esto significa que itera a través de cada fila de una tabla especificada y realiza operaciones y expresiones en cada una de ellas. Posteriormente, suma los resultados obtenidos fila por fila para obtener un resultado agregado.

SUMX es una función más flexible y sofisticada que permite realizar cálculos más complejos en cada fila antes de sumar los resultados. Por ejemplo, si queremos calcular la suma del importe solo para la categoría ‘Bebidas’, podemos utilizar SUMX para iterar a través de cada fila, aplicar una condición que filtre solo las filas de la categoría ‘Bebidas’, y luego sumar los importes correspondientes a esas filas.

Además, SUMX también es útil cuando se necesita utilizar expresiones y operaciones más específicas para realizar cálculos en cada fila, como por ejemplo, calcular las Ventas Totales en función de una expresión parametrizada multiplicando la Cantidad por el Precio.

Aplicaciones de la función SUM vs SUMX

La función SUM en Power BI tiene diversas aplicaciones que pueden aprovecharse para realizar cálculos de suma en columnas de datos. A continuación, se explorarán dos ejemplos representativos de uso de la función SUM: la suma del importe de todos los productos y algunas recomendaciones sobre cuándo utilizarla.

Suma del importe de todos los productos

Uno de los casos más comunes en los que se utiliza la función SUM es para calcular la suma del importe de todos los productos. Esta aplicación es útil cuando se quiere conocer el total de ventas o ingresos generados por todos los productos en una tabla de datos.

Por ejemplo, supongamos que tenemos una tabla que registra las ventas de diferentes productos, con una columna llamada «Importe» que contiene el valor de cada venta. Si queremos obtener el total de ventas de todos los productos, podemos aplicar la función SUM a la columna «Importe». El resultado será la suma de todos los valores de la columna, es decir, el importe total de todas las ventas.

Recomendaciones de uso de SUM

Si bien la función SUM puede usarse en diversas situaciones, es importante tener en cuenta algunas recomendaciones para su uso adecuado. A continuación, se presentan algunas consideraciones a tener en cuenta:

  • Utilizar SUM cuando se necesite realizar una suma total de valores en una columna sin necesidad de realizar cálculos adicionales por fila.
  • Aplicar SUM en situaciones en las que se trabaje únicamente con una columna específica y no sea necesario iterar a través de las filas de una tabla.
  • Considerar la simplicidad de sintaxis y eficiencia de SUM en comparación con otras funciones más complejas, como SUMX.

Siguiendo estas recomendaciones, se puede aprovechar al máximo la función SUM y obtener resultados precisos y eficientes en el cálculo de sumas en columnas de datos.

Ventas Total = SUM( Ventas[ImporteVenta] )

Aplicaciones de la función SUMX vs SUM

La función SUMX en Power BI ofrece una mayor flexibilidad al permitir el cálculo fila por fila y la posibilidad de realizar operaciones antes de sumar los resultados. A continuación, se presentan dos casos de aplicación clave:

Suma del importe solo para la categoría ‘Bebidas’

Imagina que tienes una tabla con datos de productos, donde cada fila contiene información sobre un producto, incluyendo su nombre, categoría y el importe de venta. Si deseas calcular la suma del importe solo para los productos de la categoría ‘Bebidas’, la función SUMX es la indicada para este caso.

Al utilizar SUMX, puedes iterar a través de cada fila de la tabla y evaluar la categoría de cada producto. Solo se sumarán los importes de aquellos productos que pertenezcan a la categoría ‘Bebidas’, ignorando los demás. Esto te proporciona un resultado preciso y específico para la categoría deseada.

VentasBebidas = SUMX( FILTER( Ventas, Producto[Categoria] = ‘Bebidas’ ), Ventas[ImporteVenta] )

Suma de ventas totales utilizando expresiones

En ocasiones, es posible que necesites realizar cálculos más complejos antes de hacer la suma de los resultados. La función SUMX te brinda esta capacidad mediante el uso de expresiones.

Por ejemplo, supongamos que tienes una tabla con datos de ventas, donde cada fila representa una venta individual con información como el producto, la cantidad vendida y el precio unitario. Si deseas calcular las ventas totales, tendrías que multiplicar la cantidad vendida por el precio unitario antes de sumar los resultados. Con SUMX, puedes escribir una expresión que realice este cálculo para cada fila y luego sumar los resultados, obteniendo la suma de las ventas totales de manera precisa.

VentasTotales2 = SUMX( Ventas, Ventas[Cantidad] * Ventas[Precio] )

Relación entre SUM y SUMX

SUM la sintaxis azucarada (sugar syntax) de SUMX

Una interesante relación entre SUM y SUMX es que la función SUM puede considerarse como «sugar syntax» de la función SUMX. En otras palabras, SUM es una forma simplificada de escribir SUMX sin tener que especificar explícitamente dicha función con sus dos parámetros.

La función SUM se utiliza cuando solo queremos obtener la suma total de valores en una columna sin necesidad de realizar cálculos adicionales en cada fila. Por ejemplo, si deseamos calcular la suma total de ventas anterior, podemos simplemente utilizar SUM en lugar de SUMX. Al omitir la iteración fila por fila, obtenemos un código más limpio y conciso.

Es importante tener en cuenta que aunque SUM simplifica la escritura del código, también implica ciertas limitaciones en términos de flexibilidad. Si necesitamos realizar más operaciones o cálculos avanzados en cada fila antes de sumar los resultados, será necesario recurrir a la función SUMX.

VentasTotal = SUM( Ventas[ImporteVenta] ) es exactamente igual que VentasTotal = SUMX( Ventas, Ventas[ImporteVenta] )

Pero, ¿No has dicho antes que incluso utilizan diferentes motores de cálculo? Si, eso también es cierto y cuando utilizamos SUMX pasándole como parámetros una sola tabla y una sola columna, como hemos hecho en este último SUMX, aquí utiliza el motor agregador, porque no necesita iterar por las filas ya que no tiene que calcular ninguna expresión previa y sólo necesita agregar esa columna.

Lo que hace que utilice o no el motor iterador es que haya una expresión como segundo parámetro del SUMX

Dicho de otra forma, SUM vs SUMX, son lo mismo en el caso de utilizar una sola columna de la tabla para sumarla. Puedes escribir la sintaxis completa con SUMX o la sintaxis azucarada (sugar syntax) y más simple con SUM.

Te lo voy a demostrar en esta imagen utilizando DAX Studio para mostrar la instrucción que llega internamente al motor de DAX para que veas que es exactamente la misma:

Conclusiones SUM vs SUMX en DAX

Podría no existir la función SUM y conseguiríamos exactamente el mismo resultado con SUMX, de hecho internamente se está generando la misma instrucción.

SUM contempla un subconjunto de las funcionalidades de SUMX, es su expresión más simple, indicar una sola columna de una tabla.

SUMX permite hacer muchos cálculos que están totalmente limitados con SUM.

Siéntete libre de usar SUM o SUMX citando una sola columna de una tabla. Realmentes estás haciendo lo mismo. Lo habitual es utilizar SUM porque su sintaxis es más simple, pero da igual.

Recursos adicionales sobre SUM vs SUMX en Power BI

Si estás interesado en profundizar aún más en las diferencias y aplicaciones de las funciones SUM y SUMX en Power BI, existen una serie de recursos adicionales que pueden ser de gran utilidad. Estos recursos te permitirán ampliar tus conocimientos y dominar el uso de estas funciones en tus análisis de datos.

  • Videos explicativos: En plataformas como YouTube, podrás encontrar una amplia variedad de videos tutoriales y explicativos sobre SUM y SUMX en Power BI. Ten cuidado y valida que cumplen lo que hemos dicho aquí sobre «sugar syntax» y que no te lleven a engaño por dar una explicación errónea.
  • Artículos especializados: Existen numerosos artículos en línea que tratan específicamente sobre las diferencias y aplicaciones de SUM y SUMX. Personalmente te recomiendo este de SQLBI: https://www.sqlbi.com/tv/sum-sumx-dax-guide/ .
  • Cursos y tutoriales en línea: Valida siempre que te hablan de «sugar syntax» y que te lo explican correctamente, evita que te causen confusión por no explicar adecuadamente estos conceptos.

Recuerda que comprender y dominar las funciones SUM y SUMX en Power BI es fundamental para realizar análisis de datos efectivos y obtener información valiosa. Aprovecha estos recursos adicionales para ampliar tus conocimientos y mejorar tus habilidades en el uso de estas funciones. Mantente actualizado y al tanto de las últimas novedades en Power BI para aprovechar al máximo todas sus funcionalidades en tus proyectos de análisis de datos.

Puede que también te interese...

Comparte este artículo

Deja un comentario

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

No olvides suscribirte a mi newsletter para recibir la mejor información sobre Power BI