La diferencia entre SUM y SUMX en LuckyTemplates

La diferencia entre SUM y SUMX en LuckyTemplates

Todavía hay mucha confusión sobre la diferencia entre y en LuckyTemplates. Este es un conocimiento clave que los usuarios deben dominar porque ambas funciones se pueden usar en diferentes escenarios, pero hay casos en los que uno es más eficiente que el otro. Puede ver el video completo de este tutorial en la parte inferior de este blog.

Voy a centrarme en un ejemplo aquí que mostraría la distinción entre los dos. Pero antes de saltar a ese ejemplo, es importante comprender la diferencia entre una función de agregación y una función de iteración.

Tabla de contenido

Agregadores Vs Iteradores

Cuando se trata de DAX, hay dos tipos de motores de cálculo: los agregadores y los iteradores.

Las funciones de agregación incluyen SUM , , , y . Los iteradores, por otro lado, son funciones que tienen una X al final, como SUMX .

Las funciones de iteración pasan por cada fila de una tabla para agregar lógica a cada una de estas filas.

Las funciones de agregación miran toda la columna que queda después de colocar el contexto en una fórmula. A partir de ahí, se realiza una sola agregación para toda la columna en un solo momento.

SUM como agregador

¿ Cómo se utiliza SUM como agregador?

La diferencia entre SUM y SUMX en LuckyTemplates

En este ejemplo, calcularé los Ingresos totales en los datos de muestra proporcionados.

El contexto siempre es importante aquí. En este caso, cada fecha específica es el contexto de cada resultado específico.

La diferencia entre SUM y SUMX en LuckyTemplates

Si profundizo más en esta tabla, se mostrará que hay una relación directa que fluye desde la Fecha que va a la tabla Ventas .

La diferencia entre SUM y SUMX en LuckyTemplates

Luego, si observo los datos que funcionan debajo de este modelo, así es como todo encaja.

La diferencia entre SUM y SUMX en LuckyTemplates

Entonces, la relación está vinculada a la columna Fecha de pedido aquí. Una vez que se filtran las fechas específicas de esta columna, los resultados correspondientes se muestran en la columna Ingresos.

A partir de ahí, SUM solo haría un gran cálculo de los resultados filtrados.

SUMX como un iterador

Ahora, voy a usar SUMX en los mismos datos de muestra para que pueda ver la diferencia. De hecho, puedo calcular esos Ingresos sin tocar la columna de Ingresos.

Cuando se utiliza la función SUMX , siempre pedirá una mesa. Tenga en cuenta que aquí se puede utilizar una tabla física o una tabla virtual.

La diferencia entre SUM y SUMX en LuckyTemplates

Para llegar a los Ingresos, elegiré la tabla Ventas. Luego, colocaré una expresión, que puede ser una medida o una columna específica de esa tabla en esta fórmula para que pueda comenzar a ejecutar la lógica en cada fila. La expresión, como se explica aquí, devuelve la suma de una expresión evaluada para cada fila de la tabla.

La diferencia entre SUM y SUMX en LuckyTemplates

Dado que los datos de muestra incluyen la cantidad del pedido, los usaré aquí para obtener el total. También voy a utilizar el precio unitario.

La diferencia entre SUM y SUMX en LuckyTemplates

Una vez que arrastro esa fórmula al informe, los resultados son exactamente los mismos.

La diferencia entre SUM y SUMX en LuckyTemplates

Por supuesto, ambos muestran los mismos resultados porque ambos obtienen datos de las mismas dos columnas: la cantidad de pedido y el precio unitario.

La diferencia entre SUM y SUMX en LuckyTemplates

¿Por qué usar SUMX si da el mismo resultado que SUM de todos modos?

Con SUMX, la lógica se aplica no solo a una columna completa, sino a cada fila dentro de esa columna. De hecho, podría eliminar la columna Ingresos y aún así poder recuperar resultados específicos.

Así que imagina que esa lógica se aplica en cada fila. Multiplica la cantidad de pedido y el precio unitario de la primera fila y luego los guarda en la memoria. Hace lo mismo con la segunda fila y todas las demás filas posteriores, guardando cada resultado individual.

Esto quiere decir que al final, lo que se está usando para calcular el SUMX no son los datos físicos en la tabla, sino los resultados guardados en la memoria .


Trabajo con funciones de iteración en DAX
Uso de funciones de iteración SUMX y AVERAGEX en LuckyTemplates
Modelo de datos de LuckyTemplates para análisis de escenarios avanzados mediante DAX

Conclusión

Con suerte, pude explicar la principal diferencia entre SUM y SUMX en LuckyTemplates, especialmente para aquellos que todavía están aprendiendo lo que realmente puede hacer LuckyTemplates.

La regla general es que si se trata de un escenario simple y directo que puede resolverse mediante una función de agregación, use SUM. Pero si se requiere una lógica más avanzada, use SUMX.

SUMX también será útil en los casos en que tenga miles o millones de filas. Siempre que las tablas y columnas a las que se hace referencia en sus medidas estén allí, el uso de funciones de iteración haría que el proceso fuera más eficiente.

Mis mejores deseos,


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.