Forum Discussion
Convert currency
- 10 years ago
This will work if you get rid of all of your non-GBP exchange rates. Do you need those? If you do, sure some more DAX magic can get you there.
Column = LOOKUPVALUE(ExchangeRates[ExchangeRate],ExchangeRates[CurrencyCode],"GBP",ExchangeRates[StartTime],MAX(ExchangeRates[StartTime]))
Oh wait, here is the additional DAX magic that will let you keep your other currency codes.
Column = LOOKUPVALUE(ExchangeRates[ExchangeRate],ExchangeRates[CurrencyCode],"GBP",ExchangeRates[StartTime],CALCULATE(MAX(ExchangeRates[StartTime]),ExchangeRates[CurrencyCode]="GBP"))
This will work if you get rid of all of your non-GBP exchange rates. Do you need those? If you do, sure some more DAX magic can get you there.
Column = LOOKUPVALUE(ExchangeRates[ExchangeRate],ExchangeRates[CurrencyCode],"GBP",ExchangeRates[StartTime],MAX(ExchangeRates[StartTime]))
Oh wait, here is the additional DAX magic that will let you keep your other currency codes.
Column = LOOKUPVALUE(ExchangeRates[ExchangeRate],ExchangeRates[CurrencyCode],"GBP",ExchangeRates[StartTime],CALCULATE(MAX(ExchangeRates[StartTime]),ExchangeRates[CurrencyCode]="GBP"))
- calerof7 years agoImpactful Individual
Hi Greg_Deckler, v-haibl-msft,
I'm struggling with a solution that converts each invoce to another currency based on the invoice date. I just can not find a solution here in the Community for that approach.
Could you please advise?
Thanks,
Fernando
- Greg_Deckler7 years agoCommunity Champion
calerof - Can you provide example/sample source data and expected output?
- calerof7 years agoImpactful Individual
Hello Greg_Deckler,
Sorry for not answering before, my client started requesting things afar from the agreement.
The data are as follows:
Fact Table with sales by invoice line:
https://www.dropbox.com/s/hz5nc6kqda4wbv9/Daily%20Revenue%20by%20invoice%20item%20Original.xlsx?dl=0
Date USD 01-ene-19 19.6512 02-ene-19 19.6512 03-ene-19 19.5878 04-ene-19 19.6073 05-ene-19 19.6073 06-ene-19 19.6073 07-ene-19 19.4902 08-ene-19 19.3479 09-ene-19 19.3479 10-ene-19 19.2456 11-ene-19 19.1236 12-ene-19 19.1236 13-ene-19 19.1236 14-ene-19 19.1236 15-ene-19 19.0064 In excel I would do it just easily with =vlookup convert all sales in MXP to USD based on the invoice date and bring the sales already in USD to the same column to have a total in USD, e.g.
https://www.dropbox.com/s/jvwex5u8o0l7mo9/Daily%20Revenue%20by%20invoice%20item.xlsx?dl=0
In this way the last column would show Sales in USD converted at the invoice date, not at month end.
When I use LOOUPVALUE my problem is when assigning the current date in SEARCH VALUE doesn't recognize the row context and get the error: "A table of multiple values was supplied where a single value was expected".
LOOKUPVALUE (EXCHANGERATES[RATE],EXCHANGERATES[DATE], DATE ( 2019, 1, 12 ),EXCHANGERATES[CURRENCY], "MXP")Could you please advice?Thanks a lot,Fernando
- calerof7 years agoImpactful Individual
Finally with the help of EnterpriseDNA's video I could have the sales data converted from MXP to USD with the following code:
Sales in USD = SUMX( NetSales, DIVIDE( NetSales[LineTotal], LOOKUPVALUE( ORTT[Rate], ORTT[RateDate], VentasNetas[OINV.DocDate], ORTT[Currency], "USD" ) ) )where:
NetSales in the sales fact table,
ORTT includes the MXP/USD exchange rate by date.
I post this if it could be of any help.
Regards,
Fernando
- Anonymous7 years agoNot applicable
I've a similar problem, in my case with nominal to constant currency....
anyway, in the proposed solution there are using the latest available exchange rate (MAX(StartTime))... i'm using it and it works fine, but can I make an slicer or use another pickable menu to change the date of the exchange rate used? What if I wish to know the price in GBP of March 1 2017?
Thanks