cancel
Showing results for 
Search instead for 
Did you mean: 
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
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

BizApps LATAM 2023

Business Application LATAM Summit 2023

Join the biggest FREE Business Applications Event in LATAM this February.

Power Platform Bootcamp

Global Power Platform Bootcamp

In this bootcamp we will deep-dive into Microsoft’s Power Platform stack with hands-on sessions and labs, delivered to you by experts and community leaders.