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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

¿Es posible reemplazar variables en las medidas con un filtro?

Tengo dos medidas. El primero calcula las ventas del año seleccionado en una cortadora:

Sales_this_year =
VAR V_year = SELECTEDVALUE(my_table[AÑO])
DEVOLUCIÓN
CALCULATE(SUMA(my_table[VENTAS]),
my_table[AÑO] = V_year)

El segundo calcula las ventas del año anterior; el único cambio en el DAX es restar 1 del año seleccionado en la segmentación de datos:

Sales_last_year =
VAR V_year = SELECTEDVALUE(my_table[AÑO])-1
DEVOLUCIÓN
CALCULATE(SUMA(my_table[VENTAS]),
my_table[AÑO] = V_year)

Las dos medidas se muestran en mi informe en tarjetas separadas.

Tener dos medidas que son tan similares parece ineficiente, especialmente cuando se escala a un informe completo con muchas medidas como esta que muestran los resultados de este año y del año pasado.

¿Es posible crear una sola medida como esta y mostrarla en ambas tarjetas con filtros en cada tarjeta para determinar el año en que cada una debe mirar?

Ventas = SUMA(my_table[VENTAS])

También estoy abierto a diferentes ideas si alguien puede pensar en una mejor manera.

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

¿Puedes probar lo siguiente?

Sales = CALCULATE(SUM(my_table[SALES]), ALL(my_table), FILTER(my_table, my_table[YEAR] = SELECTEDVALUE(my_table[YEAR])))

La medida utiliza el CALCULATE para calcular la suma de las ventas, pero también utiliza el ALL para eliminar los filtros que se aplican a la tabla. Esto significa que la medida calculará la suma de las ventas para todos los años, independientemente del año seleccionado en la segmentación de datos.

Por ejemplo, para crear una tarjeta que muestre las ventas de este año, debe usar la siguiente fórmula:

Sales This Year = CALCULATE(SUM(my_table[SALES]), ALL(my_table), FILTER(my_table, my_table[YEAR] = SELECTEDVALUE(my_table[YEAR])))

Otro enfoque sería utilizar un parámetro para determinar el año para calcular las ventas. Esto le permitiría crear una sola medida que se puede utilizar para calcular las ventas de cualquier año, sin tener que cambiar la fórmula.

Para ello, primero debe crear un parámetro para el año. A continuación, utilizaría la función con la CALCULATE FILTER función para calcular las ventas para el año seleccionado.

Sales = CALCULATE(SUM(my_table[SALES]), FILTER(my_table, my_table[YEAR] = SELECTEDVALUE(parameter_year)))

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors