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
Anonymous
Not applicable

Crear medida para mostrar $ totales en función de los tipos de cambio de divisas de la fecha seleccionada

Hola

Estoy tratando de averiguar cómo crear la medida adecuada para crear esto, pero atascado en un runt sobre cómo empezar.

Esencialmente, estoy tratando de crear un gráfico que le permite mostrar cómo cambian los valores totales de los clientes a lo largo del tiempo (basado en la fecha de extracción) - esto es fácilmente factible. Sin embargo, el problema al que me enfrento es que quiero agregar una segmentación de fecha para que pueda ver cómo cambiará el valor total del cliente en función de las tarifas de cambio en diferentes fechas.

Como ejemplo, quiero hacer un gráfico de barras que mostrará el valor total de AUD para el 31 de enero de 2020 porque he seleccionado el 31 de enero de 2020 basado en la fecha de extracción (tabla 1). Entonces quiero tener otra cortadora de fecha (tabla 2), que me permitirá ver cómo cambiará el valor total de AUD ahora, calculando los tipos de cambio de USD/CAD a AUD en el 31 mar 2020 en su lugar. Tenga en cuenta que tengo varios tipos de cambio y fechas más, pero este USD / CAD son sólo para referencia por ahora.

Tabla 1:

Fecha de extracciónClienteMonedaValor (no AUD)Valor (AUD)Tipo de cambio
31 de enero de 2020AUsd100000015200001.52
31 de enero de 2020BUsd20000...1.52
31 de enero de 2020CCad500000...1.1
29 de febrero de 2020AUsd1100000...1.74
29 de febrero de 2020BUsd25000...1.74
29 de febrero de 2020CCad520000...1.1

Tabla 2: Tabla de cambio de divisas

Fecha de negociaciónMonedaTipo de Cambio AUD
31 de enero de 2020Usd1.52
29 de febrero de 2020Usd1.74
31 Mar 2020Usd1.52
31 de enero de 2020Cad1.1
29 de febrero de 2020Cad1.1
31 Mar 2020Cad1.1

Cualquier ayuda muy apreciada 🙂

1 ACCEPTED SOLUTION

@rlee2838 - Todavía no tengo claro lo que está tratando de lograr. Supongamos que tenemos una tabla de fechas y transacciones como usted ha mostrado. También tiene una tabla de tipos de cambio diarios como lo que ha mostrado. El usuario elige una fecha de una tabla de calendario sinncon? Ahora quieres calcular un cálculo. Supongamos que desea tomar todas las transacciones, aplicar el tipo de cambio a la transacción a partir del día en que se ha seleccionado y luego calcular la suma de estas. En este caso específico:

Measure =
  VAR __Date = SELECTEDVALUE('Calendar'[Date])
  VAR __Table = 
    ADDCOLUMNS(
      'Transactions',
      "EffRate",
      LOOKUPVALUE('ExchangeRates'[Value],'ExchangeRates'[Date],__Date,'ExchangeRates'[Type],[Type])
    )
  VAR __Table1 = 
    ADDCOLUMNS(
      __Table,
      "Product",
      [EffRate] * [PurchaseAmount]
    )
RETURN
  SUMX(__Table1,[Product])

Estoy inventando nombres de tabla y nombres de columna porque no publicaste nada en texto debajo y no puedo leer la pequeña imagen mientras también intentas codificar. Pero, en resumen, agarra tu cita. Agregue una columna a su tabla de hechos base que sea esencialmente el tipo de cambio para la fecha seleccionada, así como el "tipo" de la fila actual USD/CAN, CAN/USD, etc. Agregue otra columna a esa tabla que multiplicó algún valor por esta tasa. Suma todo junto, el final.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

8 REPLIES 8
Greg_Deckler
Super User
Super User

@rlee2838 - Cubro los tipos de cambio en el Capítulo 5, Receta 8 del libro de cocina DAX. Si solo quieres ver el DAX de cómo lo hice, puedes ir aquí para descargar el PBIX para el capítulo. https://github.com/gdeckler/DAXCookbook


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Hola @Greg_Deckler , No creo que Receipe realmente ayuda, ya que no quiero una solución donde la moneda es capaz de ser seleccionado por el usuario. Debe calcularse automáticamente.
Sólo quiero que el usuario cambie la fecha de la tasa de cambio - supongamos que cada uno de los tipos de cambio disponibles se rellena para todo tipo de códigos de divisa.

@rlee2838 - La selección de la fecha correcta es parte de la receta y lo básico sería el mismo. Así que básicamente, usaría SELECTEDVALUE para tomar la fecha de la segmentación de datos (recomendaría una tabla de calendario desconectada para esto). Entonces usaría esto para BUSCARVALUE su tipo de cambio para ese día. Entonces usted podría hacer su cálculo (ya sea SUMA arriba algo y multiplicar por tipo de cambio o lo que sea, ¿verdad?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Hola @Greg_Deckler , ¿podría explicar un poco más?

Disculpas, pero aún estoy temprano en mi aprendizaje con DAX. Entiendo el SELECTEDVALUE, pero estoy un poco confundido en cuanto a la aplicación de la LOOKUPVALUE.

Si quiero utilizar LOOKUPVALUE, ¿cómo puedo hacer que aplique todos los tipos de cambio, es decir, USD/AUD, CAD/AUD, GBP/AUD dentro del día seleccionado?

Acabo de subir una captura de pantalla a continuación que puede hacer que sea más fácil de explicar.

Esencialmente, quiero que un usuario pueda ver los datos en función de la extract_date. Dentro de estos datos, hay clientes de diferentes países con diferentes tipos de moneda, que quiero convertir de nuevo a mi moneda nacional (AUD).

Quiero que el usuario pueda seleccionar una fecha de trading (este es SELECTEDVALUE), que luego aplicará el exchange_rate para esa fecha seleccionada al [Valor No AUD] para TODAS las Currency_Codes.

1.PNG

@rlee2838 - Todavía no tengo claro lo que está tratando de lograr. Supongamos que tenemos una tabla de fechas y transacciones como usted ha mostrado. También tiene una tabla de tipos de cambio diarios como lo que ha mostrado. El usuario elige una fecha de una tabla de calendario sinncon? Ahora quieres calcular un cálculo. Supongamos que desea tomar todas las transacciones, aplicar el tipo de cambio a la transacción a partir del día en que se ha seleccionado y luego calcular la suma de estas. En este caso específico:

Measure =
  VAR __Date = SELECTEDVALUE('Calendar'[Date])
  VAR __Table = 
    ADDCOLUMNS(
      'Transactions',
      "EffRate",
      LOOKUPVALUE('ExchangeRates'[Value],'ExchangeRates'[Date],__Date,'ExchangeRates'[Type],[Type])
    )
  VAR __Table1 = 
    ADDCOLUMNS(
      __Table,
      "Product",
      [EffRate] * [PurchaseAmount]
    )
RETURN
  SUMX(__Table1,[Product])

Estoy inventando nombres de tabla y nombres de columna porque no publicaste nada en texto debajo y no puedo leer la pequeña imagen mientras también intentas codificar. Pero, en resumen, agarra tu cita. Agregue una columna a su tabla de hechos base que sea esencialmente el tipo de cambio para la fecha seleccionada, así como el "tipo" de la fila actual USD/CAN, CAN/USD, etc. Agregue otra columna a esa tabla que multiplicó algún valor por esta tasa. Suma todo junto, el final.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Hola @Greg_Deckler, primero de, gracias por su ayuda hasta ahora... incluso si no estoy llegando todavía

Estoy agregando algunas imágenes para ilustrar mejor mi punto en cuanto a lo que estoy tratando de lograr:

1.PNG2.PNG

Cuando utilizo la medida que creaste, solo obtengo resultados en blanco cuando la arrastro a la tabla para mostrarla:

Capture.PNG

Y para otra referencia:

rlee2838_0-1597050805775.png

La muestra de PBIX también se puede encontrar aquí:

https://1drv.ms/u/s!ArqhX9Cz43yboxmYSEX1ngG57274?e=EdAIcp

Anonymous
Not applicable

Hola @Greg_Deckler,

Parecía haberlo resuelto. Tuve que hacer pequeños ajustes a tu código.

Value based on selected Currency Date = 
VAR ___TABLE = 
ADDCOLUMNS(
    'ValueTable',
    "EffRate",
    LOOKUPVALUE('CurrencyTable'[AUD_rate],CurrencyTable[Currency Date],SELECTEDVALUE(CurrencyTable[Currency Date]),CurrencyTable[Currency Code],'ValueTable'[Currency_Code])
)
VAR ___TABLE2 = 
    ADDCOLUMNS(
___TABLE,"Product",
[EffRate] * [Final Value (Non AUD)])
RETURN
SUMX(___TABLE2,[Product])

@rlee2838 - ¡Increíble!


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.