Esto requiere una comprensión razonable de cómo funcionan las funciones de iteración dentro de LuckyTemplates. Estas son funciones como SUMX, AVERAGEX, MINX, MAXX . Por lo general, la función tiene una X al final.
Una vez que pueda comprender lo que hacen las funciones de iteración, podrá comprender mucho mejor cómo manipular una fórmula para poder calcular un total único.
Con este ejemplo, trabajamos a través de AVERAGEX para obtener el promedio. Luego, le mostraré cómo usar SUMX como parte de la fórmula para luego volver a calcular un total diferente al que normalmente recibiría si solo utiliza AVERAGEX.
También cubrimos la función HASONEVALUE , que se usa bastante en escenarios muy similares.
Miremos esta tabla y evaluemos lo que realmente está ocurriendo en estas fórmulas dentro de la tabla.
En primer lugar, echamos un vistazo a las ventas totales. Es una fórmula de suma simple o fórmula SUMX, que es una función iterativa.
Solo está haciendo una suma, pero estamos evaluando una lógica en cada fila porque eso es lo que hacen las funciones de iteración, específicamente SUMX.
El punto clave aquí es cuando llega al total, que es de 35 millones. Debido a que no había contexto en este resultado, en realidad está iterando en cada fila de la tabla de ventas subyacente, completando esta lógica . Y así conseguimos los 35 millones.
Pero luego, cuando saltamos a AVERAGEX , es exactamente la misma fórmula. Tiene los mismos parámetros dentro de la fórmula , excepto que aquí tenemos el promedio.
Ahora veamos el total, 2,356.01. El total será lo que se calcule en cada fila, al igual que en SUMX. Pero en lugar de hacer una suma, está haciendo un promedio.
Por eso tenemos un número bajo aquí, que es 2.356,01. Es el promedio de cada venta individual que ha ocurrido alguna vez en la Tabla de Ventas.
Hay una evaluación en cada fila y se guarda en la memoria, y luego pasa a la siguiente fila y la siguiente.
Justo al final, promediará cada transacción de venta que haya ocurrido.
Pero la parte clave de este tutorial es saber cómo obtuvimos este total, 28,272.12. Queremos saber cómo entrenar un total de todos nuestros promedios.
Cálculo del total de promedios
Para obtener el total de resultados promedio, necesitamos crear un comportamiento diferente en el área total.
¿Cómo lo hacemos? Primero, revisemos la fórmula que he creado.
Si revisamos la variable, AVERAGEX, reconoceremos que esto es exactamente lo mismo que está ocurriendo en esta parte particular de la tabla.
Usamos esta lógica, IF HASONEVALUE, donde voy Fechas Mes porque estamos en un contexto mensual.
Si el contexto mensual tiene un valor, entonces evaluaremos exactamente la misma fórmula (AvgSales), que puede ver aquí, es exactamente igual.
Pero si no es así, lo que significa que es básicamente en el área total, entonces queremos hacer algo diferente.
Haremos un SUMX porque queremos crear de alguna manera una suma de las Ventas promedio. Y queremos evaluar en el total (28,272.12) cada mes y resumir las Ventas promedio.
Entonces, en el total (28,272.12), en lugar de evaluar cada fila de esta Tabla de Ventas, estamos evaluando cada mes.
Obtenemos las Ventas Promedio de cada mes, y en lugar de hacer un promedio, estamos haciendo una suma porque adentro está SUMX.
Y así es como obtenemos la suma total de todos los promedios.
Implicaciones del total de cálculos DAX promedio
Hay muchas maneras de usar esta técnica de combinación de fórmulas para crear estos totales promedio. Un ejemplo es cuando desea obtener las ventas promedio por año financiero, como hice en este ejemplo.
Verá en el ejemplo que el total de promedios está en cada fila.
Calculé eso usando ALLEXCEPT , eliminando todo el contexto en el año financiero y así es como aparece el total de todos estos.
Luego, calculé el porcentaje por año fiscal (% por año fiscal). Se hace dividiendo las ventas promedio por las ventas promedio por año fiscal.
Sabrás que en realidad está funcionando porque aquí está al cien por cien, como debería ser.
Este tema sobre los cálculos de DAX para el total del promedio ha sido ampliamente solicitado en el foro y en otros lugares.
Cuando obtenemos el total de promedios, usamos una combinación de funciones como AVERAGEX, HASONEVALUE y SUMX con alguna lógica combinada para obtener el total final de todos los promedios.
Esta es una idea muy reutilizable si necesita obtener totales que son bastante diferentes a lo que realmente es el cálculo general en sus tablas o visualizaciones.
Esta es una fórmula DAX bastante única. Si puede entender cómo hacer estos cálculos DAX, entonces lo está haciendo muy bien con su conocimiento de LuckyTemplates. Está en un buen lugar para resolver otras cosas avanzadas, especialmente cuando se requiere lógica de iteración.