año actual hasta la fecha de ventas vs año anterior para el mismo período

Un usuario Pregunto ✅

tabkaz

necesita calcular una medida que pueda mostrar valores por año, desde el año actual hasta la fecha (1 de enero – 6 de noviembre de 2020) frente al mismo período del año anterior (1 de enero – 6 de noviembre de 2019); una sola medida que puede mostrar valor para ambos años o una medida separada para 2019 y 2020. También un % de variación con respecto al año anterior

BI.png

trató de usar muchas medidas pero no pudo obtener el resultado deseado,

GRPs MTD = VAR MaxMonth = CALCULATE(MAX(‘Calendario'[MonthNum]), TODOS(‘Calendario’),’Calendario'[CurMonthOffset] = -1)
Devolver CALCULAR([Total GRP],’Calendario'[MonthNum] <= mes máximo)
la medida anterior calcula la suma de enero a octubre de ambos años, si el período de corte se establece en 0, calculará los valores hasta noviembre de todo el mes.
https://drive.google.com/file/d/1akOF13RN9nv0M-KIr7Rz0X55-DgtlTp8/view?usp=sharing

tabkaz

bueno, creo que he encontrado una solución usando una función de compensación disponible en la tabla del calendario, filtrándola en el nivel del día;

GRPs MTD = VAR MaxMonth = CALCULATE(MAX(‘Calendario'[day of year]), TODOS(‘Calendario’),’Calendario'[CurweekOffset] = 0)
Devolver CALCULAR([Total GRP],’Calendario'[MonthNum] <= mes máximo),FILTRO(TODO(‘Calendario’),’Calendario'[Year] = -1)

tabkaz

bueno, creo que he encontrado una solución usando una función de compensación disponible en la tabla del calendario, filtrándola en el nivel del día;

GRPs MTD = VAR MaxMonth = CALCULATE(MAX(‘Calendario'[day of year]), TODOS(‘Calendario’),’Calendario'[CurweekOffset] = 0)
Devolver CALCULAR([Total GRP],’Calendario'[MonthNum] <= mes máximo),FILTRO(TODO(‘Calendario’),’Calendario'[Year] = -1)

amichandak

@tabkaz, pruebe medidas como estos ejemplos con una tabla de fechas

YTD CANT forzado =
var _max = hoy()
regreso
if(max(‘Fecha'[Date])<=_max, calcular(Suma('orden'[Qty]),DATESYTD('Fecha'[Date])), blanco())
//o
//calcular(Suma(‘orden'[Qty]),DATESYTD(‘Fecha'[Date]),filtro(‘Fecha’,’Fecha'[Date]<=_máx))
//calcular(TOTALYTD(Suma(‘pedido'[Qty]),’Fecha'[Date]),filtro(‘Fecha’,’Fecha'[Date]<=_máx))

El año pasado

CANTIDAD LYTD forzada=
var _max = fecha(año(hoy())-1,mes(hoy()),día(hoy()))
regreso
if(max(‘Fecha'[Date])<=_max, CALCULAR(Suma('orden'[Qty]),DATESYTD(dateadd('Fecha'[Date],-1,año)),'Fecha'[Date]<=_máx), en blanco())

tabkaz

En respuesta a amichandak

Gracias Amit, las medidas que has publicado no dan el resultado deseado; YTD LY no muestra ningún resultado.

bi 2.png

En respuesta a tabkaz

Hola @tabkaz,

Me gustaría sugerirle que use la función de fecha para definir manualmente el rango del filtro y calcularlo, eche un vistazo a seguir si le ayuda:

Inteligencia del tiempo «La manera difícil» (TITHW)

Si lo anterior tampoco funciona para su escenario, comparta algunos datos ficticios con la estructura de la tabla sin procesar y los resultados esperados para ayudarnos a aclarar su estructura y probar la fórmula de codificación.

Cómo obtener una respuesta rápida a su pregunta
Por cierto, no puedo acceder al enlace compartido que publicaste, ¿puedes arreglar esto?
Saludos,

Xiaoxin-sheng

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *