Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Anonymous
Not applicable

Calcular dinámicamente el promedio cada mes

Hola a todos,

Tengo una pregunta DAX; Tengo una tabla de valores de ventas junto con cada mes como se muestra a continuación:

ex1.PNG

También tengo una tabla de pedidos como se muestra:

ex2.PNG

Y esas dos mesas están conectadas de la siguiente manera:

ex3.PNG

Estoy tratando de tener una tabla donde en las filas, voy a obtener los meses y los valores y el valor promedio algo así:

ex4.PNG

La advertencia es que estoy mostrando sólo los primeros 4 meses, es decir, de enero a abril usando un filtro de nivel visual.

Como se puede ver en la tabla anterior, la medida
(1) "Promedio" está devolviendo el promedio durante 12 meses

(2) "Promedio1" está devolviendo la respuesta correcta

(3) "Average2" no funciona

Aquí está el DAX para cada uno:

Promedio: CALCULATE(AVERAGE(Sales[Sales]),all('Order'[Month],'Order'[Order]))
Average1 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Order'[Month],'Order'[Order]),'Order'[Month] IN 'January","Febrero","March","April"-))
Average2 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Order'[Month],'Order'[Order]),'Order'[Month] IN VALUES('Order'[Month])))
Lo que estaba tratando de hacer con "Promedio 2" era obtener la misma expresión que "Average1" para actualizar automáticamente cuando incluyo o excluyo otros meses de mi filtro de nivel visual.
¿Hay de todos modos para hacer eso?
1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@Gladiator2019 , En tal caso, por favor prefiera tener tabla de fechas en tal caso, trate de

Average2 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Order'),'Order'[Month] IN VALUES('Order'[Month]))

O

Average2 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Date'),'Date'[Month] IN VALUES('Date'[Month]))

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...


Apreciamos tus Felicitaciones.

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@Gladiator2019 , En tal caso, por favor prefiera tener tabla de fechas en tal caso, trate de

Average2 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Order'),'Order'[Month] IN VALUES('Order'[Month]))

O

Average2 - CALCULATE(AVERAGE(Sales[Sales]),filter(all('Date'),'Date'[Month] IN VALUES('Date'[Month]))

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...


Apreciamos tus Felicitaciones.

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
jdbuchanan71
Super User
Super User

@Gladiator2019

Pruébalo, 2 medidas.

Sales Amount = SUM (Sales[Sales])
Average Sales =
CALCULATE (
    AVERAGEX ( ALLSELECTED ( 'Order'[Month] ), [Sales Amount] ),
    ALLSELECTED ( 'Order' )
)

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Top Solution Authors