Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Tengo los siguientes cálculos:
hora | Valor mensual | Valor YTD 19 | Valor YTD 20 |
19 de enero | 21% | ||
19 de febrero | 26% | ||
... | ... | ... | ... |
Dic 19 | 23% | ||
20 de enero | 22% | 21% | 22% |
20 de febrero | 24% | 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:
hora | Valor LY Dec YTD |
19 de enero | 23% |
19 de febrero | 23% |
... | ... |
Dic 19 | 23% |
20 de enero | 23% |
20 de febrero | 23% |
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))
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.
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.
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...
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/