Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola expertos,
Cuando estoy tratando de crear una medida me quedé con el siguiente problema.
Básicamente aquí estoy tratando de mostrar los valores del año anterior. Puedo usar datediff pero mi columna RPT Year está en formato de número entero
No @AnandaKali,
Según su descripción, creé los datos:
Estos son los pasos que puede seguir:
1. Utilice la tabla calculada para crear una tabla de calendario denominada query2 y cree una columna calculada para mostrar la tabla yearcalculated:
Quert2 = CALENDARAUTO()
columna calculada:
PRTyear = YEAR('Quert2'[Date])
2. Crear medida.
Test =
var _select =SELECTEDVALUE('Quert2'[PRTyear])
return CALCULATE(SUM('Query'[Jan]),FILTER('Query',YEAR('Query'[Date])=_select-1))
3. Resultado
Puede descargar el archivo PBIX desde aquí.
Saludos
Liu Yang
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@AnandaKali tiene una tabla DimDate? ¿Es eso lo que es Query2?
Puede hacerlo más fácilmente si tiene una tabla DimDate utilizando inteligencia de tiempo integrada, de lo contrario necesita calcular el año máximo seleccionado en el contexto de todo el informe, puede hacerlo usando una variable, pero ¿necesita trabajar para selecciones de varios años? Si es así, la tabla DimDate es mucho más fácil. https://excelwithallison.blogspot.com/2020/04/dimdate-what-why-and-how.html
De lo contrario, el uso de una variable se vería algo parecido a (he intentado tener en cuenta las selecciones de varios años, e imitado el comportamiento de la función DATEADD utilizando la inteligencia de tiempo y la tabla de fechas:
Prueba de la prueba ( Test)
VAR maxYear á MAX(Query2[RPTyear])
VAR minYear á MIN(Query2[RPTyear])
devolución
CALCULATE(SUM(Query[Jan]),FILTER(ALL(Query2[RPTyear]), Query2[RPTyear]<-maxYear-1 && Query2[RPTyear]>- minYear-1 ))
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
@AnandaKali , En caso de que necesite este año vs el año pasado. Si tiene fecha, utilice la inteligencia de tiempo. otra clase de un año de tabla y utilizar la fórmula utilizando sólo año
Ventas YTD á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
Last YTD Sales á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Este año Ventas: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR('Date'[Date]),"12/31"))
Ventas del año pasado: 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"))
Año detrás de Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Sólo año vs año, no un nivel por debajo. Esto puede funcionar sin la tabla de fechas, pero necesita una tabla de años
Este año: CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]-max('Date'[Year])))
Last Year ? CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]-max('Date'[Year])-1))
rolling? CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]>'max('Date'[Year])-2 && 'Date'[Year]<-max('Date'[Year])) )
diff -Este año]-[Año pasado]
diff % á divide([This Year]-[Last Year ],[Last Year ])
Power BI — Año tras año con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-ytd-questions-time-intelligence-1-5-e3174b39f38a
tal vez usted puede probar esto
Test = CALCULATE(SUM(Query[Jan]),Query2[RPTyear]=SLECTEDVALUE(Query2[RPTyear])-1))
Proud to be a Super User!
Cuando estoy usando la función selectedvalue que aparece debajo del error
Error:
Se ha utilizado una función 'SELECTEDVALUE' en una expresión True/False que se utiliza como expresión de filtro de tabla. Esto no está permitido.
necesita crear una tabla de calendario y usar dateadd
https://docs.microsoft.com/en-us/dax/dateadd-function-dax
Proud to be a Super User!
No @AnandaKali,
Lo primero - No ha mencionado qué error está recibiendo utilizando esta medida. ¿Compartirlo para describir cuál es el problema?
Gracias
Pragati
Se muestra el error como No se puede encontrar el año RPT