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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

seleccionar columna dinámicamente en la medida dax - ¿es posible?

Hola

En mi informe tengo un filtro de inicio y fin separado para seleccionar el período de tiempo.

bsz412_0-1660211445990.png

Tengo que calcular el monto de la venta a EUR, usando una columna de venta en la tabla de ventas y el tipo de cambio de la tabla de tipos de cambio.

La parte difícil es que, si se selecciona el 22 de agosto, quieren que todo se calcule con la tasa ex del 22 de agosto. Si se selecciona el 22 de julio como período final, quieren que todo se calcule sobre ese tipo de cambio.

Primero tuve una tabla de tarifas ex como esta:

bsz412_1-1660211571470.png

y estaba conectado con muchas a muchas relaciones con la tabla de ventas por la columna de código de país.

El monto de las ventas se calculó con la ayuda de una función de búsqueda. La desventaja de la función de búsqueda es el rendimiento. Una función relacionada sería mucho más rápida, pero para eso necesitaría una relación de uno a muchos.

Ahora, lo que estoy tratando de hacer, es que modifiqué la tabla de tipos de cambio, la pivoté, de modo que tengo las tasas ex en diferentes columnas y ahora puedo establecer la relación de uno a muchos con la tabla de ventas.

bsz412_2-1660211740832.png

Ahora puedo usar la función RELATED, pero como cada mes está en diferentes columnas, tendría que agregar todas y cada una de las columnas en el código, en la función switch. (El código siempre tiene que utilizar el tipo de cambio del período final seleccionado)

Supongo que no es posible, pero tal vez alguien tenga un consejo sobre esto: ¿es posible hacer referencia al nombre de la columna con una medida, en lugar de agregar 50-60 líneas de código para cada mes? Siempre debe usar el nombre de columna que sea idéntico al período final seleccionado.

¡Gracias!

Sellout Amount EUR test = 

VAR ex_ratedate = SELECTEDVALUE(Endperiod[yearmonth number])

RETURN

SUMX(

sales, sales[sellout]*

SWITCH(

TRUE(),

ex_ratedate=202101, RELATED(exchange_rate[202101]),

ex_ratedate=202102, RELATED(exchange_rate[202102]),

RELATED(exchange_rate[202206])))
1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@bsz412,

Vea si puede adaptar la solución a continuación. Utiliza una tabla puente para resolver la relación de muchos a muchos. En su modelo, CountryCode será la tabla puente. Este enfoque le permite evitar pivotar la tabla de tipos de cambio.

https://community.powerbi.com/t5/Desktop/Alternative-LookupValue-function-to-create-virtual-relation...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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