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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Syndicate_Admin
Administrator
Administrator

El cálculo de YTD ya no funciona

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!

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@newpbiuser01

Si este es el resultado deseado:

Daniel29195_0-1705436121816.png

Puede utilizar la siguiente medida;

Medir 7 =
si(
ISFILTERED('Tabla de fechas'[Año]),
CALCULAR(
[Ingresos],
mismo períodoel año pasado(DATESYTD('Tabla de fechas'[fecha]))
),
FUERON get_max_year = MÁXIMO('Tabla de fechas'[Año])
FUERON Res =
CALCULAR(
[Ingresos],
valor('Tabla de fechas'[Año]) = get_max_year - 1, todo('Tabla de fechas')
)
devolución
Res
)
NB : all('Tabla de fechas') es opcional en caso de que haya establecido la tabla de fechas: marque como tabla de fechas.
Espero que esto ayude

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!

Syndicate_Admin
Administrator
Administrator

@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)

newpbiuser01_1-1705435285195.png

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors