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
Stemar_Aubert
Resolver I
Resolver I

Emisión de medidas año a fecha

Hola a todos

Hoy me di cuenta de que la medida que utilizo para calcular el YTD del año anterior tiene un problema.

FechaVentas
19 de enero4
19 de febrero3
......
20 de enero2

Suponiendo que mi mesa va del 19 de enero al 20 de febrero, pero no tengo ventas para la unidad que estoy buscando en febrero, la medida no tendrá en cuenta el 19 de febrero, y simplemente comparar el 19 de enero con el 20 de enero.

La medida es la siguiente:

SALES UNITS YTD 19 = 
VAR _MaxMonth = MONTH(MAXX('Actual','Actual'[DATES]))
RETURN
CALCULATE(SUM('Actual'[INDUSTRY UNITS]),DATESYTD(DATEADD('Time'[Dates],-1,YEAR)),MONTH('Time'[Dates])<=_MaxMonth)

Esta medida se utiliza porque no creará puntos en el futuro cuando se coloca en una línea visual (se detiene automáticamente en la fecha máxima relevante en lugar de la fecha actual).

La tabla real está vinculada a la tabla calandar habitual.

¿Cómo podría ajustar esta medida para que tome todos los datos del año anterior, hasta el mes máximo disponible a partir del año en curso? Creo que la cuestión aquí es debido al contexto. Efectivamente toma el último mes disponible, para un producto específico, porque necesitaría la última fecha del conjunto de datos, por lo que incluso si no hay venta en febrero 20, se tarda el 19 de febrero.

Gracias por cualquier ayuda que pueda proporcionar.

A continuación se añaden dos imágenes, una donde funciona debido a tener datos en el 20 de febrero, y otra donde no puede capturar datos del 19 de febrero.

k2CXyHb

XtAcRNIDebe tener 2 como YTD 19 total

9 REPLIES 9
parry2k
Super User
Super User

@Stemar_Aubert cambiar su medida como se indica a continuación

SALES UNITS YTD 19 = 
VAR _MaxMonth = MONTH(MAXX(ALL('Actual'),'Actual'[DATES]))
RETURN
CALCULATE(SUM('Actual'[INDUSTRY UNITS]),DATESYTD(DATEADD('Time'[Dates],-1,YEAR)),MONTH('Time'[Dates])<=_MaxMonth)

usar ALL para eliminar el contexto del filtro.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

@parry2k Hola y gracias por la modificación.


Captura los números como se puede ver a continuación:

mLm85KE

Este es el comportamiento previsto, sin embargo, el problema es que ahora repite el valor hasta ahora (fecha del equipo), ya que debe detenerse en la fecha máxima del conjunto de datos (febrero de 2020). ¿Tendrías una idea sobre cómo detener esto? La versión sin ALL() tiene el comportamiento adecuado en el tiempo.

Gracias de nuevo !

@Stemar_Aubert par de preguntas:

- ¿Cuál es la última fecha en su mesa, es abril, 2020 o feb 2020

- si es abril de 2020, por qué debería detenerse en feb 2020. cuál es la lógica detrás de ella.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

@parry2k

- La última fecha de la tabla de ventas es febrero de 2020. La razón por la que la medida debe "detenerse" en la fecha más reciente presente en el cuadro es para evitar esta y otras cuestiones.

Básicamente, esta medida es "Año anterior YTD", y YTD se define como el último punto de datos disponible en 2020.

PTjRtS4

En el modelo, tengo la tabla de calendario habitual, con la relación habitual entre dimensión / hecho.

DQXog7E

Lo que no entiendo es esto : Mi tiempo es básicamente un calendario automático y se detiene en abril (hoy () fórmula). Deseo que la medida se detenga en lugar de repetir el último cálculo, como se puede ver en la tabla y el gráfico de líneas. Muchas gracias.

@Stemar_Aubert seguro de que hay muchas maneras de controlar esto, pero sólo me pregunto por qué se detiene en abril de 2020, mi suposición es que su tabla de calendario tiene datos hasta diciembre de 2020, así que por qué se detendría en abril, pero no en diciembre. Te lo pido porque eso me ayudará a conseguirte la solución correcta



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

@parry2k

La tabla de ventas se detiene a 1 de febrero de 2020.

La tabla de fechas se detiene en el 27 de abril de 2020 (básicamente siempre se detiene "hoy").

He forzado a la tabla de fechas a parar el 1 de febrero de 2020, y parece estar funcionando, ya no tengo las fechas repetidas.

El problema con esta solución, es que tengo otras tablas de hechos, que, dependiendo de cuándo se actualizan, podríair más allá de la tabla de ventas.

Lo ideal sería que cada tabla de hechos se detuviera automáticamente.

Antes de utilizar ALL() para eliminar el contexto, la medida YTD se comportaría como el tiempo deseado (se detuvo en febrero de 2020).

@Stemar_Aubert no te preocupes, vamos a arreglarlo sin detener la dimensión del calendario hasta feb 2020.

Prueba esto, pero tengo que probarlo

SALES UNITS YTD 19 = 
VAR _MaxMonth = MONTH(MAXX(ALL('Actual'),'Actual'[DATES]))
VAR __stopFlag = IF ( _MaxMonth <= MAX ( Calendar[Date] ), 1 )
RETURN
CALCULATE(SUM('Actual'[INDUSTRY UNITS]),DATESYTD(DATEADD('Time'[Dates],-1,YEAR)),MONTH('Time'[Dates])<=_MaxMonth) *
DIVIDE ( __stopFlag, __stopFlag )

Me gustaría elogiossi mi solución me ayudó.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para darle a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

@parry2k

Lo he escrito como tal :

INDU UNITS YTD 19 = 
VAR _MaxMonth = MONTH(MAXX(ALL('Actual'),'Actual'[DATES]))
VAR _StopFlag = IF ( _MaxMonth <= MAX ( 'Time'[Dates]), 1)
RETURN
CALCULATE(SUM('Actual'[INDUSTRY UNITS]),DATESYTD(DATEADD('Time'[Dates],-1,YEAR)),MONTH('Time'[Dates])<=_MaxMonth * DIVIDE( _StopFlag, _StopFlag ))

Sin embargo, no parece tener un efecto:

Intenté algunas variaciones a él (paréntesis principalmente) para asegurarme de que aplique el _StopFlag al parámetro Month, sin uso. ¿Tendrías una idea de por qué ? ¡Gracias!

amitchandak
Super User
Super User

Pruebe una de las siguientes opciones con el calendario de fechas

YTD QTY - TOTALYTD(Sum('order'[Qty]),'Fecha'[Fecha])
LYTD QTY á TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year))
Año anterior: CALCULATE(SUM('order'[Qty]), PREVIOUSYEAR('Date'[Date]))

YTD QTY forzado
var _max hoy()
devolución
calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),'Date'[Date]<-_max)
calculate(TOTALYTD(Sum('order'[Qty]),'Date'[Date]),filter('Date','Date'[Date]<-_max))

LYTD QTY forzado
var _max á date(year(today())-1,month(today()),day(today()))
devolución
CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<-_max)
TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<-_max)

Este año es CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]'max('Date'[Year])))
El año pasado : CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]'max('Date'[Year])-1))


YTD QTY forzado 2o
var _max á MES(hoy())
devolución
calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),MONTH('Date'[Date])<-_max)

LYTD QTY forzado
var _max1 ámaxx('order',[Fecha de pedido])
var _max á date(year(_max1)-1,month(_max1),day(_max1))
devolución
CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<-_max)
TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<-_max)

Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de que tiene un calendario de fechas y se ha marcado como la fecha en la vista de modelo. Además, únase a él con la columna de fecha de su 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/

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.