Martinomf
¡Buenos días! Soy nuevo en Power BI y he estado atascado con un problema durante unos días. ¡Espero que alguien pueda ayudarme a resolverlo! Tengo un conjunto de datos de ventas diarias de algunos años. Necesito obtener las ventas totales por mes y luego calcular los promedios móviles de 12 meses de esos totales mensuales. ¡Apreciaré tus sugerencias!
Atentamente,
Martín
shebr
Hola @martinomf,
Esto puede ayudar.
En primer lugar, cree 2 medidas, una «suma ventas = suma ([sales]) «, y un segundo» promedio de ventas = PROMEDIO ([sales]) «
Coloque estos dos en el ‘Gráfico de líneas y columnas agrupadas’. Colocar el [sum sales] en los valores de la columna y el [average sales] en los valores de la línea.
Arrastre la misma fecha (sí, de nuevo, aunque ya está allí) al área de filtro del gráfico y use ‘Filtrado relativo’, seleccione 12 y luego ‘Meses’. Esto siempre le dará los últimos 12 meses según la fecha actual.
Vea la imagen a continuación.
Déjame saber cómo te va,
Gracias
shebr
Martinomf
En respuesta a shebr
Gracias por tu respuesta, shebr. Su solución, tal como se propone, no resuelve mi problema. Necesito crear una expresión DAX que funcione dinámicamente y que pueda funcionar tanto en tablas como en visualizaciones y que también se pueda replicar en cálculos realizados para otras proporciones.
Martinomf
En respuesta a Martinomf
¡Buenos días! Soy nuevo en Power BI y he estado atascado con un problema durante unos días. ¡Espero que alguien pueda ayudarme a resolverlo! Tengo un conjunto de datos de transacciones de ventas individuales a diario que se remonta a algunos años. Necesito obtener las ventas totales por mes y luego calcular los promedios móviles de 12 meses de esos totales mensuales.
El uso de una combinación de CALCULATE, AVERAGE y DATESINPERIOD me proporcionará un promedio móvil de 12 meses pero de las transacciones individuales en lugar del promedio móvil de los totales mensuales.
¡Apreciaré tus sugerencias!
Atentamente,
Martín
iamprajot
En respuesta a Martinomf
Cree una medida de ventas promedio dependiendo de los datos para, por ejemplo,
Ventas promedio = AVERAGEX (Ventas, Ventas[Quantity] * Ventas[Unit Price] )
Ventas promedio = AVERAGEX (TableName, TableName[Column1] * Nombre de la tabla[Column2] )
entonces finalmente,
Ventas móviles promedio 12 meses = CALCULAR ( [Average Sales], DATESINPERIOD (Pedidos[OrderDate].[Date], LASTDATE (‘Pedidos'[OrderDate].[Date] ), -12 MESES ) )
Martinomf
En respuesta a iamprajot
Gracias por tu respuesta, iamprajot. Tenga en cuenta que tengo transacciones diarias que necesito agregar primero en un total mensual. Luego, necesito obtener el promedio móvil de los totales mensuales.
El resultado que me dará su expresión será el promedio móvil de las transacciones diarias durante los últimos 12 meses en lugar del promedio móvil de los totales mensuales, ¿correcto?
iamprajot
En respuesta a Martinomf
Proporciona el promedio mensual y el promedio móvil de las cifras mensuales.
Nada sabio en el día.
Martinomf
En respuesta a iamprajot
Gracias de nuevo, Iamprajot. A la izquierda encontrará una muestra de los datos, diarios y mensuales. A la derecha, encontrará un pivote que muestra lo que necesito hacer en Power BI; un total mensual y un promedio móvil de 12 meses de los números mensuales. Lo que me está dando amablemente no está funcionando.
iamprajot
En respuesta a Martinomf
Su pivote está dando promedios INCORRECTOS. lea y comprenda esto con mucho cuidado, Right Pivot agrega 12 meses de ingresos y lo divide entre 12 (lo cual es incorrecto porque esos valores ya están resumidos y la división con 12 es incorrecta) ahora haga esto, filtre los datos de la izquierda para los 12 meses requeridos y luego verifique el Promedio de esos Ingresos (sumará todos esos y lo dividirá con el recuento, que es correcto y esto es lo que hace Power BI)
Espero que hayas entendido el punto.
Martinomf
En respuesta a iamprajot
Gracias de nuevo, Prajot. Si echa un vistazo a la segunda columna del pivo, el primer resultado (enero de 2015 para 2,014,831) es el resultado de la suma de todas las transacciones de enero de 2015 (348,326 + 0 + 1’666,506). Lo mismo ocurre con 1,178 744, que es el resultado de sumar las transacciones de febrero de 2015 (219,277 + 604,238 + 355,229) y así sucesivamente. No son promedios, son totales mensuales.
El primer promedio móvil de 12M. (1.928.576) es el promedio de las sumas que van desde febrero de 2015 hasta enero de 2016. Esta es la primera suma y división por 12; no hay uno anterior. Esto es exactamente lo que necesito que Power BI haga por mí. Espero que esta explicación aclare las cosas.
¡Espero recibir sus comentarios!
¡¡Gracias de nuevo!! 🙂
iamprajot
En respuesta a Martinomf
Sé que es el total mensual y no el promedio, pero la forma en que necesita lo que necesita es conceptualmente incorrecta y da como resultado cifras incorrectas.
no se puede dividir por 12, los valores reales deben dividirse por el recuento real.
Suponga que si no hubo transacciones en el mes de marzo, los meses restantes son 11 en el pivote, y si seguimos su camino, dividiremos el Total con 11 meses o podría darle el promedio móvil de 13 meses.
solo necesita comprender el concepto, es el defecto de la tabla dinámica. verifica el promedio usando fórmulas y lo verás.
No hay nada que pueda hacer más, es solo una lógica que debes entender.
Martinomf
En respuesta a iamprajot
Agradezco tu respuesta y tu tiempo, Prajot. Probé su solución nuevamente: su expresión me proporciona el promedio móvil de 12 meses del valor de las transacciones INDIVIDUALES, que NO es lo que necesito. Necesito tener un promedio móvil de 12 meses de la cantidad de negocios, en términos de $, que ingresa al negocio mensualmente, que es lo que transmite correctamente la tabla que le envié.
Atentamente 🙂
iamprajot
En respuesta a Martinomf
Aquí tienes, finalmente …
CALCULAR([Total Revenue]/ 12, DATESINPERIOD (Pedidos[OrderDate].[Date], LASTDATE (Pedidos[OrderDate].[Date]),-12 MESES))
en el cual [Total Revenue] es la SUMA de la columna de ingresos, que podría ser otra medida o colocarla encima de la fórmula Calcular.
Avísame una vez que obtengas lo que esperabas.
iamprajot
En respuesta a iamprajot
Marque como Solución si funcionó para ayudar a otros.