Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola fans de Power BI,
He estado atascado en este problema por un tiempo y espero que pueda encontrar una solución aquí.
A continuación se muestra el escenario.
Tengo una tabla de ventas que incluye mis ingresos mensuales obtenidos. Cada inicio del mes, me gustaría calcular el nuevo objetivo mensual basado en los ingresos obtenidos del mes pasado. Si los ingresos obtenidos del mes pasado tuvieron un superávit, entonces la meta mensual para el resto de los meses sigue siendo la misma, si hay un déficit, entonces necesito agregar esos déficits al resto de los meses del año. La segunda imagen puede ayudar a entender el escenario.
El círculo rojo en la primera imagen no muestra lo que quiero porque parece que se calcula en función de cada fila.
A continuación se muestra mi dax:
Hola @Syruswan ,
Intente modificar su columna como se muestra a continuación:
Column =
Var _lastmonthgoal=CALCULATE(MAX('Goal'[Achieved.Achieved Monthly Revenue]),FILTER('Goal','Goal'[StartofMonth]=MAXX(FILTER('Goal','Goal'[StartofMonth]<EARLIER('Goal'[StartofMonth])),'Goal'[StartofMonth])
Return
IF( 'Goal'[Monthly Goal]>_lastmonthgoal, 'Goal'[Monthly Goal]+DIVIDE('Goal'[Monthly Goal]-_lastmonthgoal,12-MONTH('Goal'[StartofMonth)+1),'Goal'[Monthly Goal])
Si la medida anterior no funciona, pls cargar su archivo .pbix a una empresa de unidad y compartir el enlace conmigo.
Hola Kelly,
Gracias por la ayuda. Intenté la medida, pero no funcionó.
A continuación se muestra el archivo.
https://drive.google.com/file/d/10Prv_K3yeun1WovMp378SuI2sHHHT97D/view?usp=sharing
Hola
¿Podría compartir el archivo MS Excel con su fórmula de Excel para que pueda entender su lógica? Comparte el enlace desde donde puedo descargar tu archivo MS Excel.
Hola @Syruswan ,
Cree 2 columnas como se muestra a continuación:
Gap =
var _lastmonth=MAXX(FILTER('Goal','Goal'[StartofMonth]<EARLIER('Goal'[StartofMonth])),'Goal'[StartofMonth])
Var _lastmonthgoal=CALCULATE(MAX('Goal'[Achieved.Achieved Monthly Revenue]),FILTER(ALL('Goal'),'Goal'[StartofMonth]=_lastmonth))
var _diff='Goal'[Monthly Goal]-_lastmonthgoal
Return
IF(_diff<0||_lastmonthgoal=BLANK(),0,DIVIDE(ABS(_diff),13-MONTH('Goal'[StartofMonth])))
_New monthly goal =
var _previousgap=CALCULATE(MAX('Goal'[Gap]),FILTER('Goal','Goal'[StartofMonth]<=EARLIER('Goal'[StartofMonth])))
Return
IF(_previousgap=0,'Goal'[Monthly Goal],'Goal'[Monthly Goal]+SUMX(FILTER(ALL('Goal'),'Goal'[StartofMonth]<=EARLIER('Goal'[StartofMonth])),'Goal'[Gap]))
Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Hola Kelly,
Esta es la solución que estoy buscando. ¡Muchas gracias por la ayuda!
Sin embargo, en el caso real, tengo varios vendedores. Acabo de añadir otra columna llamada "vendedor". Quiero que el cálculo se haga en cada vendedor, en otras palabras, el cálculo debería funcionar más como subcuadámeno independiente con 12 filas (12 meses). ¿Cómo puedo ajustar el DAX para el cálculo? Intenté usar FILTER para salir con una submesa primero. Entonces todavía no funciona.
El enlace es el archivo adjunto.
https://drive.google.com/file/d/1D_PjVyq0KQgkMTDYqhjjEb2C2tH5S9q6/view?usp=sharing
Hola @Syruswan ,
Modifique las columnas como se muestra a continuación:
Gap =
VAR _Salesperson = FILTER('Goal', 'Goal'[Salesman] = EARLIER('Goal'[Salesman] ))
var _lastmonth=MAXX(FILTER(_Salesperson,'Goal'[StartofMonth]<EARLIER('Goal'[StartofMonth])),'Goal'[StartofMonth])
Var _lastmonthgoal=CALCULATE(MAX('Goal'[Achieved.Achieved Monthly Revenue]),FILTER(_Salesperson,'Goal'[StartofMonth]=_lastmonth))
var _diff='Goal'[Monthly Goal]-_lastmonthgoal
Return
IF(_diff<0||_lastmonthgoal=BLANK(),0,DIVIDE(ABS(_diff),13-MONTH('Goal'[StartofMonth])))
_New monthly goal =
VAR _Salesperson = FILTER('Goal', 'Goal'[Salesman] = EARLIER('Goal'[Salesman] ))
var _previousgap=CALCULATE(MAX('Goal'[Gap]),FILTER(_Salesperson,'Goal'[StartofMonth]<=EARLIER('Goal'[StartofMonth])))
Return
IF(_previousgap=0,'Goal'[Monthly Goal],'Goal'[Monthly Goal]+SUMX(FILTER(_Salesperson,'Goal'[StartofMonth]<=EARLIER('Goal'[StartofMonth])),'Goal'[Gap]))
Finalmente verá:
Para el archivo .pbix modificado, pls ver adjunto.
Hola Kelly,
Gracias por la ayuda.
Estoy mirando a June y el número está un poco apagado. Estoy esperando que la nueva meta mensual en junio debe ser (($85,983.45 - $81,532.9) / 7 ) + $85983.45 á $86,619.24. Quiero calcular la diferencia entre el objetivo mensual alcanzado y el nuevo objetivo mensual calculado.
Me doy cuenta de que podría ser causa por
Hola @Syruswan ,
Sí, como en mi cálculo, el _diff se basa en 83333.33,no en el nuevo valor dinámico, me ha molestado el problema durante 2 días, pero todavía no podía encontrar una solución, ya que necesita calcular en función del resultado dinámico, sería difícil. O en otra palabra, puede hacer que varias columnas sean los resultados intermedios para obtener una columna final.
Hola Kelly,
Muchas gracias por la ayuda. Sí, este cálculo dinámico es muy difícil. Encontré un post interesante que es bastante similar a lo que mencionaste que agregar una gran cantidad de columnas podría valer la pena intentarlo. La razón es que estamos haciendo el cálculo basado en un nuevo valor de la última fila. Con el fin de encontrar una manera de almacenar o crear ese valor, ADDCOLUMNS podría ser algo que vale la pena probar. He estado atascado en esto por mucho tiempo y no he descubierto una manera. A continuación está sólo un post que encontré.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |