Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hola
¿Alguien sabría si hubo alguna actualización que haya cambiado la forma en que se aplican los filtros en todas las medidas?
Tengo dos medidas para calcular el gasto hasta la fecha: una para calcular el año actual y otra para el año anterior.
Hasta hace poco, utilizaba las siguientes dos medidas:
1. Gasto del año en curso =
VAR LatestMonth = Month(Max('Table'[Date]))
VAR últimoAño = Año(Max('Tabla'[Fecha]))
DEVOLUCIÓN
CALCULATE(SUM([Spend]), FILTER('Tabla', [Año] = LatestYear))
2. Gasto del año anterior =
VAR LatestMonth = Month(Max('Table'[Date]))
VAR últimoAño = Año(Max('Tabla'[Fecha]))
DEVOLUCIÓN
CALCULATE(SUM([Spend]), FILTER('Tabla', [Año] = LatestYear-1 && [Month] <= LatestMonth))
El gasto del año anterior ahora incluye todos los meses del año e ignora la última parte del filtro, que es [Mes] <= LatestMonth. Si codifico el número del mes (es decir, si digo CALCULATE(SUM([Spend]), FILTER('Table', [Year] = LatestYear-1 && [Month] <= 1)), obtengo la respuesta correcta. 3
¿Qué ha cambiado? ¿Qué estoy haciendo mal? ¡Por favor, ayuda!
Si este es el resultado deseado:
Puede utilizar la siguiente medida;
Hola @Daniel29195 ,
Esta solución requiere que tengamos una tabla de fechas, ¿verdad? ¿Hay alguna manera de hacer esto sin la tabla de fechas? Lo pregunto porque tenemos casos en los que queremos mostrar el año anterior y el año anterior menos 1.
¿Debe haber una manera de usar una medida para calcular el último mes y luego usarla como una "constante" para filtrar el gasto de un año específico?
Lo que quiero decir con esto es que, si tengo las siguientes variables,
VAR LatestMonth = Month(Max('Table'[Date]))
VAR últimoAño = Año(Max('Tabla'[Fecha]))
y los aplico como filtros juntos:
Filter('Table', [Month] <= LatestMonth && [Year] = PreviousYear), esto debe evaluarse como:
Filtro ('Tabla', [Mes] <= 1 && [Año] = 2023)
En su lugar, parece que Power BI vuelve atrás y vuelve a evaluar LatestFM en función de LatestFY, y hace lo siguiente:
Filter('Tabla', [Mes] <= 12 && [Año] = 2023)
¿Hay alguna manera de usar el valor calculado de la medida LatestMonth sin que se vuelva a evaluar? ¿O manteniendo el año como el último año?
Sí, esto requiere una tabla de fechas.
Se recomienda crear siempre una tabla de fechas y vincularla a la tabla de hechos. de esta manera, Dax es más fácil y es más intuitivo entender cómo funcionará Dax.
sin embargo
latestMOnth te dará 12 porque se evalúa en el contexto de todos los años.
Para poder obtener el último mes del último año, primero puede crear la variable Year , que es como la escribió:
VAR últimoAño = Año(Max('Tabla'[Fecha]))
y VAR LatestMonth = calculate( Month(Max('Table'[Date])) , year(table[date]) = Latestyear )
Y luego puede continuar su código tal como lo escribió.
¿Es esto lo que necesitas, o me estoy perdiendo algo?
¡Oh! Tienes razón, tengo que definir el último año y el mes dentro de la misma medida. Estaba tratando de crear una medida común para LatestMonth (que podría usar en otras medidas) y luego abordarla. ¡Tengo que crear una variable para LatestMonth, LatestYear y luego usarlas! ¡Gracias! Sabía que tenía que ser algo muy tonto lo que estaba haciendo mal. ¡Muchas gracias!
@newpbiuser01
¿Cómo está visualizando estas medidas, ha incluido la columna de fecha en el objeto visual? ¿Estás usando una tabla de calendario?
Comparta la captura de pantalla de su modelo y el objeto visual.
Hola @Fowmy ,
No tengo una tabla de calendario: obtengo los datos con el mes y el año que combino para crear la columna "fecha". La tabla es similar a la siguiente. Necesito mostrar estas dos formas:
1. Como KPI en la parte superior de la imagen de la tarjeta, ¿quién cambia YTD YoY?
2. En un gráfico de barras que muestra el gasto por año (YTD)
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.