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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Stemar_Aubert
Resolver I
Resolver I

Valor YTD de fin de año

Hola

Tengo los siguientes cálculos:

horaValor mensualValor YTD 19Valor YTD 20
19 de enero21%
19 de febrero26%
............
Dic 1923%
20 de enero22%21%22%
20 de febrero24%26%23%

Tengo los valores mensuales, luego una medida que trae el valor YTD del último año a la hora actual y el valor YTD actual.

Para el año pasado YTD, utilizo esta medida:

Value YTD 19 = 
VAR _MaxMonth = MONTH(MAXX('Value Table Actual','Value Table Actual'[DATES]))
RETURN
CALCULATE([Value Actuals],DATESYTD(DATEADD('Time'[Dates],-1,YEAR)),MONTH('Time'[Dates])<=_MaxMonth)

Para el YTD actual, utilizo esta medida:

PINS Bias YTD 20 = 
VAR _MaxMonth = MONTH(MAXX('Values Table Actual','Values Table Actual'[DATES]))
VAR _CurrentYear = 2020
RETURN
CALCULATE([Values Actuals],DATESYTD(DATEADD('Time'[Dates],-0,YEAR)),MONTH('Time'[Dates])<=_MaxMonth && YEAR('Time'[Dates])= _CurrentYear)

Ahora, necesito tener una medida que siempre me dé el valor del año pasado, año completo (diciembre yTD eficazmente).

La salida debe ser siguiente:

horaValor LY Dec YTD
19 de enero23%
19 de febrero23%
......
Dic 1923%
20 de enero23%
20 de febrero23%

Tengo el parámetro de fecha MAXX() establecido para evitar que la fórmula calcule más allá de lo que está presente en el conjunto de datos.


Probar una fórmula simple, como esta:

FY 19 = 
TOTALYTD('Values Actual'[Values Actuals],'Time'[Dates],'Time'[Dates]=DATE(2019,12,01))
Efectivamente me da el 23% que estoy buscando, pero sólo aparece para diciembre de 2019, wheras me gustaría que este valor se gastara para cualquier fecha entre un rango específico.

Donde lucho es, ¿cómo puedo señalar a un mes/año específico, y tener esto como el mismo valor repetido para el período de observación?

Muchas gracias.

6 REPLIES 6
v-xicai
Community Support
Community Support

Hola @Stemar_Aubert ,

Puede crear primero una tabla de calendario y, a continuación, crear una relación con la tabla de hechos.

Calendario :CALENDARAUTO()

A continuación, cree medidas como DAX a continuación.

YTD para CY - TOTALYTD(SUM('Values Actual'[Values Actuals]),Calendar[Date])

YTD para PY - CALCULATE(SUM('Values Actual'[Values Actuals]),SAMEPERIODLASTYEAR(Calendar[Date]))

Saludos

Amy

Equipo de Apoyo Comunitario _ Amy

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola y gracias por la entrada.

Creo que mi formulación no estaba clara. Ya tengo todo el tiempo necesario / medidas / relaciones implementadas. El problema que tenía era tomar un valor específico, y usarlo como constante que se mantuviera igual en algunas dimensiones.

La solución era simplemente volver a construir mi métrica con un filtro CALCULATE ALLCROSSFILTERED + DATESBETWEEN. Efectivamente me dio el TOTALYTD diciembre 2019, y cuando se pone en un objeto visual, aparece como una constante incluso si un eje de tiempo está presente, mientras que se filtra por otras dimensiones como el producto o la localización.

Hola @Stemar_Aubert ,

¿Puedo preguntar si puede mostrar el formulario final? Estoy estrangulando en un problema similar: ¿Quieres tener un valor de diciembre como una constante para todo el año. Tal vez, su solución también resolverá mi problema.

Greg_Deckler
Super User
Super User

Vea si mi Inteligencia del Tiempo el Camino Duro proporciona una manera diferente de lograr lo que usted está buscando.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TIT...


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

Gracias. Lo he investigado, sin embargo, no he encontrado una solución relevante a mi problema.

Básicamente tendría que sumar el valor de una columna entre jan-dec 2019, hacer lo mismo para otra columna, luego dividir este número y asegurarse de que permanece igual a lo largo del tiempo.

YTD se basará en la fecha de finalización del calendario en la página. En caso de que desee 2019 no es el último año, puede utilizar

filter(all('Date'),Date[Year]- 2019)

O usar el año pasado a partir de inteligencia temporal

YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))

Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Last YTD complete Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))

Year behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))

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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors