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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo usar un promedio mensual histórico para los meses de furture?

Hola

Tengo un proyecto que necesito para calcular el precio de venta promedio (ASP) de ciertos meses y luego usarlo como ASP para los meses futuros.

Tengo una tabla simplificada de mi proyecto:

ClienteMesVolumenIngresos
AENE20100
BENE25150
AFEB15125
BFEB30500
CFEB23400
AESTROPEAR21350
BESTROPEAR50750
CESTROPEAR24160
DESTROPEAR851200
EESTROPEAR65950
EAPR35
BAPR26
BMAYO45
CMAYO24
CMAYO59

En este ejemplo, necesito calcular el ASP de enero, febrero y marzo y luego usarlo como ASP para abril y mayo en una tabla o matriz en Power BI. Probé Calcular, pero la parte del filtro del meausre hizo que solo calculara cuando los meses son JAN o Febrero o Marzo. Estoy totalmente perdido aquí. Cualquier ayuda sería apreciada!!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿ @ymobbs

Puedes probar esta medida

ASP = 
var _lastMonth = CALCULATE(MAX('Table'[Month Number]),ALL('Table'),'Table'[Revenue]<>BLANK())
var _totalRevenue = CALCULATE(SUM('Table'[Revenue]),ALL(Months[Month]),'Months'[MonthNumber]<=_lastMonth)
var _totalVolume = CALCULATE(SUM('Table'[Volume]),ALL(Months[Month]),'Months'[MonthNumber]<=_lastMonth)
return
IF(MAX(Months[MonthNumber])>_lastMonth,DIVIDE(_totalRevenue,_totalVolume))

Creo dos tablas Dim Clientes y Meses con el siguiente código y las uso en la matriz visual. Esto evitaría que falten datos cuando no hay datos en algunos meses en la tabla de datos. Y cree relaciones entre las tablas Dim y la tabla Data.

Customers = VALUES('Table'[Customer])
Months = DISTINCT(SELECTCOLUMNS('Table',"MonthNumber",'Table'[Month Number],"Month",'Table'[Month]))

Resultado

vjingzhang_0-1648790470569.png

Descargue el archivo adjunto para ver los detalles.

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

¿ @ymobbs

Puedes probar esta medida

ASP = 
var _lastMonth = CALCULATE(MAX('Table'[Month Number]),ALL('Table'),'Table'[Revenue]<>BLANK())
var _totalRevenue = CALCULATE(SUM('Table'[Revenue]),ALL(Months[Month]),'Months'[MonthNumber]<=_lastMonth)
var _totalVolume = CALCULATE(SUM('Table'[Volume]),ALL(Months[Month]),'Months'[MonthNumber]<=_lastMonth)
return
IF(MAX(Months[MonthNumber])>_lastMonth,DIVIDE(_totalRevenue,_totalVolume))

Creo dos tablas Dim Clientes y Meses con el siguiente código y las uso en la matriz visual. Esto evitaría que falten datos cuando no hay datos en algunos meses en la tabla de datos. Y cree relaciones entre las tablas Dim y la tabla Data.

Customers = VALUES('Table'[Customer])
Months = DISTINCT(SELECTCOLUMNS('Table',"MonthNumber",'Table'[Month Number],"Month",'Table'[Month]))

Resultado

vjingzhang_0-1648790470569.png

Descargue el archivo adjunto para ver los detalles.

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

@v-jingzhang ¡Muchas gracias! Pude enchufar la medida para que funcionara.

Sin embargo, podría ser un problema una vez que el tiempo avanza cuando incluye 2 años de datos. Cuando llegue, la medida tiene que cambiar de basarse en "Mes" a "Fecha". No hay prisa, pero por favor ajustar la medida para que funcione cuando se incluyen varios años de datos. ¡Gracias de nuevo!

¿ @ymobbs

Cuando tenga la columna Fecha y datos de varios años, le recomiendo que agregue una tabla Fecha al modelo. Cree una relación entre la tabla Fecha y la tabla de hechos en sus columnas Fecha (dirección de filtro único de uno a muchos). En la tabla Fecha, agregue una columna YearMonth para tener valores como 202201, 202202, 202203... durante meses en todos los años. A continuación, utilice esta columna YearMonth para reemplazar la columna MonthNumber original en mi medida anterior. Elimine la tabla Meses de mi respuesta anterior y use la tabla Fecha en su lugar.

El uso de una tabla de fechas es una práctica común y recomendada cuando se desea realizar cálculos relacionados con la fecha.

¿Necesita una dimensión de fecha? - RADACAD

El mejor método de fecha o tabla de calendario de Power BI: ¿DAX o Power Query? - RADACAD

Saludos

Jing

@v-jingzhang ¡Gracias de nuevo por esta explicación y su paciencia!

Syndicate_Admin
Administrator
Administrator

@amitchandak ¡Muchas gracias por su respuesta!

Sin embargo, no entiendo muy bien las fórmulas que escribiste. ¿Cuál de las medidas que puedo poner en una Matriz para mostrar el ASP para abril y mayo?

ClienteAprMayo
VolumenÁSPIDVolumenÁSPID
C
B
E
Syndicate_Admin
Administrator
Administrator

@ymobbs , Puedes obtener me gusta de la fórmula


MTD ASP= CALCULATE([ASP] ,DATESMTD('Date'[Date]))
last MTD ASP= CALCULATE([ASP],DATESMTD(dateadd('Date'[Date],-1,MONTH)))

2º último MTD ASP= CALCULATE([ASP],DATESMTD(dateadd('Date'[Date],-2,MONTH)))

usando hoy

Este mes Hoy =
var _min = eomonth(today(),-1)+1
var _max = eomonth(today(),0) //today()
devolución
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Date] >= _min && 'Date'[Date] <=_max ) )

último mes Hoy =
var _min = eomonth(hoy(),-2)+1
var _max = eomonth(today(),-1) //today()
devolución
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Date] >= _min && 'Date'[Date] <=_max ) )

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors