Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola a todos
Estoy luchando para mostrar el cambio de YTD % basado en un filtro de fecha dinámico.
Tengo una tabla Calendario que tiene:
Date, QuarterInCalendar, IsFirstDateOfYear
1/1/2019, Q1 2019, 1
1/2/2019, Q1 2019, 0
9/14/2020, Q3 2020, 0 (El calendario sube a la fecha más reciente en el conjunto de datos)
Estoy usando QuarterInCalendar como mi filtro de fecha para mostrar un % total de YTD a partir de la última fecha disponible en el período.
Estoy usando 5 medidas:
AUM Total = CALCULATE(SUM(DailyAssets[AUM]),LASTDATE('Calendar'[Date]))
(Estoy usando LASTDATE aquí porque de lo contrario, obtendré una suma diaria de activos de una serie fechada, que no es lo que quiero; Quiero la cantidad a partir de la última fecha.)
AUM FirstOfYear = CALCULATE([AUM Total],'Calendar'[FirstDayOfYearYN]-1)
(Esto sólo devolvía registros para el primer día del año, pero quería que ese valor se cumpliera para todas las demás fechas. Por lo tanto, mi próxima medida.)
Solved! Go to Solution.
Finalmente lo conseguí. Publicar respuesta en caso de que ayude a otra persona.
Nota para la Medida 1 a continuación, el LASTDATE se utiliza al final porque este es un total rodante que en realidad no quiero SUMA. Tal vez hay una mejor manera de lograr esto que lo que tengo para la Medida 1, pero oye, funciona.
Measure 1 (Total Current Value) = CALCULATE(SUM(Table[Value]),LASTDATE('Date'[Date]))
Measure 2 (First Value of each Year) = CALCULATE([Measure 1],STARTOFYEAR('Date'[Date]))
Measure 3 (Difference between Current Value and Start-of-Year value over multiple years) = IF(ISBLANK([Measure 1]), BLANK(), IFERROR([Measure 1] - [Measure 2],BLANK()))
Measure 4 (Dynamic YTD %) = IF(ISBLANK([Measure 1]), BLANK(), IFERROR(TOTALQTD([Measure 3]/[Measure 2],'Date'[Date]),BLANK()))
Cambios realizados:
Medida 2 - CALCULATE([Medida 1],'Calendario'[FirstDayOfYearYN]-1) STARTOFYEAR('Date'[Date]))
Medida 4 - IF(ISBLANK([Measure 1]), BLANK(), IFERROR([AUM YTD Diff]/[AUM FirstOfYear Fill]TOTALQTD([Measure 3]/[Measure 2], 'Date'[Date]),BLANK()))
¡Salud!
@dkrw88 , Probar como
AUM YTD Diff á [AUM Total] - [AUM FirstOfYear Fill]
AUM YTD % - divide([AUM YTD Diff],[AUM FirstOfYear Fill],0)
De
AUM YTD Diff á sumx(Values(Date[Date]),[AUM Total] - [AUM FirstOfYear Fill])
AUM YTD % ? Average(Values(Date[Date]), divide([AUM YTD Diff],[AUM FirstOfYear Fill],0))
@dkrw88 Esto parece un problema de totales de medida. Muy común. Vea mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta Medida Rápida, Medir Totales, La Palabra Final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
Gracias por los enlaces. Intenté crear una nueva medida RESUME para agrupar por QuarterInCalendar, pero todavía tengo espacios en blanco. Aquí está mi medida; tal vez hice algo malo?
@dkrw88 , En lugar de resumir sumx(values() ,[] ) , con YTD
Intenté su sugerencia como nueva medida AUM YTD % 3 y se acercó, en que ahora veo un total, pero se muestra como 0
Además, no estoy seguro de lo que quería decir cambiando SUMMARIZE a SUMX. Intenté hacer eso, pero recibí un error de sintaxis:
Medida actualizada. ¿Estoy más cerca?
@dkrw88 , En primer lugar, tener YTD medida sin ninguno tiene uno valores. Haga que la segmentación de datos en la página seleccione una fecha en este año o coloque una página o un filtro de nivel visual y use un filtro de fecha relativa, digamos los últimos 5 años, incluido hoy.
YTD necesita una fecha para detenerse. Ahora tendrá la fecha de este año. de lo contrario irá hasta la fecha de finalización del calendario y calculará el total general. Gran total en calculado de nuevo. No hay mes/cantidad/año en la fila, por lo que la última fecha disponible en la página para datesytd
Intenté agregar fechas específicas al filtro visual para que el calc supiera dónde detenerse al seleccionar un QuarterInCalendar, pero eso no funcionó. Parece que cualquier restricción en la fecha impide que aparezca mi AUM YTD % . Ver más abajo; la tabla inferior tiene los registros aparecen, pero no tiene filtro de fecha. La tabla superior tiene un filtro de nivel visual para fechas de fin de trimestre específicas, pero tan pronto como selecciono una fecha, el valor desaparece.
Finalmente lo conseguí. Publicar respuesta en caso de que ayude a otra persona.
Nota para la Medida 1 a continuación, el LASTDATE se utiliza al final porque este es un total rodante que en realidad no quiero SUMA. Tal vez hay una mejor manera de lograr esto que lo que tengo para la Medida 1, pero oye, funciona.
Measure 1 (Total Current Value) = CALCULATE(SUM(Table[Value]),LASTDATE('Date'[Date]))
Measure 2 (First Value of each Year) = CALCULATE([Measure 1],STARTOFYEAR('Date'[Date]))
Measure 3 (Difference between Current Value and Start-of-Year value over multiple years) = IF(ISBLANK([Measure 1]), BLANK(), IFERROR([Measure 1] - [Measure 2],BLANK()))
Measure 4 (Dynamic YTD %) = IF(ISBLANK([Measure 1]), BLANK(), IFERROR(TOTALQTD([Measure 3]/[Measure 2],'Date'[Date]),BLANK()))
Cambios realizados:
Medida 2 - CALCULATE([Medida 1],'Calendario'[FirstDayOfYearYN]-1) STARTOFYEAR('Date'[Date]))
Medida 4 - IF(ISBLANK([Measure 1]), BLANK(), IFERROR([AUM YTD Diff]/[AUM FirstOfYear Fill]TOTALQTD([Measure 3]/[Measure 2], 'Date'[Date]),BLANK()))
¡Salud!