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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo de MTD de prorrateo del año anterior

Estimados todos,
Espero que tenis un gran día.


Tengo algunos problemas al tratar de hacer un cálculo de MTD de año anterior prorrateado,

en mi caso, los datos de hecho se componen del importe de las ventas y la fecha de las ventas,
y hay una dimensión de fecha calculada que contiene información del calendario desde principios de 2020 hasta finales de 2021

la lista de datos de hechos proviene de 2020-2021, los últimos datos de ventas son del 9 de noviembre de 2021.

Lo que tengo que hacer es hacer una tabla para mostrar la siguiente información:

  • Número de mes
  • Año actual (2021) Monto de las ventas de MTD
  • Año anterior (2020) prorratear el monto de las ventas de MTD

la idea es mostrar el monto de las ventas de MTD (2020) del año anterior solo hasta el 9 de noviembre de 2020 en la tabla y no las ventas de todo el año.

He creado tres medidas tratando de lograr eso.

1. Uso de TOTALMTD para calcular el MTD del año en curso

Ventas MTD = 
CALCULATE(TOTALMTD(SUM('fact'[Sales]),DimDate[Date]), FILTER(DimDate,DimDate[Date]<=TODAY()))

y a continuación se indican las medidas para calcular el mtD prorrateado del año anterior

2. Uso de SAMEPERIODLASTYEAR

Ventas SamePeriodLastYear = 
CALCULATE([Ventas MTD], SAMEPERIODLASTYEAR(DimDate[Date]))

3. Uso de la combinación de EDATE y CALCULATE

Ventas MTD PrevYear = 
var PrevYearPeriod = EDATE(NOW(),-12)

var salesPrevYear =
CALCULATE([Sales MTD], DimDate, 'DimDate'[Date] <= PrevYearPeriod)

ventas de devoluciónPrevYear

y aquí están los resultados:

WilliamKMS_2-1636428226949.pngWilliamKMS_1-1636427786537.png

De la configuración de la tabla y segmentación de datos (sin año seleccionado) anterior, la medida SAMEPERIODLASTYEAR muestra el MTD del año actual en lugar del MTD del año anterior

y la medida EDATE & CALCULATE muestra un MTD de prorrateo correcto del año anterior

WilliamKMS_3-1636428330853.pngWilliamKMS_4-1636428342494.png

sin embargo, si selecciono la segmentación de datos del año actual (2021), la medida SAMEPERIODLASTYEAR muestra las cifras correctas de MTD del año anterior, pero es para todo el año en lugar de prorratear (solo calcule hasta el 9 de noviembre de 2020), y la medida EDATE & CALCULATE muestra espacios en blanco.

ustedes tienen sugerencias e ideas para manejar esto?
aquí está el archivo PBIX y el conjunto de datos si quieren echar un vistazo más de cerca,
y muchas gracias por su apoyo.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@WilliamKMS , Por favor, compruebe la medida y la alternativa en los comentarios para la devolución

LYMTD QTY forzado=
var _max = fecha(año(hoy())-1,mes(hoy()),día(hoy()))
devolución
if(max('Date'[Date])<=_max, CALCULATE(Sum('order'[Qty]),DATESMTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max), blank())
O
CALCULATE(Suma('orden'[Cantidad]),DATESMTD(dateadd('Fecha'[Fecha],-1,año)),'Fecha'[Fecha]<=_max)
TOTALMTD(Suma('orden'[Cantidad]),dateadd('Fecha'[Fecha],-1,año),'Fecha'[Fecha]<=_max)

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@WilliamKMS , Por favor, compruebe la medida y la alternativa en los comentarios para la devolución

LYMTD QTY forzado=
var _max = fecha(año(hoy())-1,mes(hoy()),día(hoy()))
devolución
if(max('Date'[Date])<=_max, CALCULATE(Sum('order'[Qty]),DATESMTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max), blank())
O
CALCULATE(Suma('orden'[Cantidad]),DATESMTD(dateadd('Fecha'[Fecha],-1,año)),'Fecha'[Fecha]<=_max)
TOTALMTD(Suma('orden'[Cantidad]),dateadd('Fecha'[Fecha],-1,año),'Fecha'[Fecha]<=_max)

CALCULATE(Sum('fact'[Sales]),DATESMTD(dateadd('DimDate'[Date],-1,year)),'DimDate'[Date]<=_max)
o
TOTALMTD(Suma('hecho'[Ventas]),dateadd('DimDate'[Fecha],-1,año),'DimDate'[Fecha]<=_max)

para el retorno en medida está funcionando muy bien! Gracias @amitchandak.
Sin embargo, de alguna manera la tabla ya no muestra la cifra total con esta medida (ambos rendimientos).

LYMTD Sales prevAño forzado = 
var _max = fecha(año(hoy())-1,mes(hoy()),día(hoy()))
devolución
CALCULATE(Sum('fact'[Sales]),DATESMTD(dateadd('DimDate'[Date],-1,year)),'DimDate'[Date]<=_max)
O
TOTALMTD(Suma('hecho'[Ventas]),dateadd('DimDate'[Fecha],-1,año),'DimDate'[Fecha]<=_max)
WilliamKMS_1-1636435234165.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.