Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
Hi Folks,
As you can see on the subject, I'm not so sure if this is feasible, but here's the context:
I have a report that involves invoices expressed in to different currencies. Now, the business want to see the figures in USD.
What i want to achieve is to convert those Non-USD invoices in to USD based on when the order is booked (so the conversion should be dynamic, could be the conversion rate is set to monthly, weekly, or annually).
Also, much better if you can provide a FREE (free API key) reliable website for real time conversion rates that can also get the historical rates from 2018 up until today, 2024.
I hope i made it clear and if it's feasible. Thank you experts! 🙂
You can connect your query to the XE.Com website and load the data from this website. but its dependent to the granulity of your data is it in data or even in hour or minute, you might need to use group rows of data from this website.
Can i also get the historical rates with FREE API key?
Hi @jeje09
To achieve dynamic currency conversion based on when the order is booked (with historical rates if needed), you can follow these steps:
Dynamic Currency Conversion:
Example DAX for conversion:
ConvertedAmount = 
'Invoices'[Amount] * 
CALCULATE(
    MAX('CurrencyRates'[Rate]),
    'CurrencyRates'[CurrencyFrom] = 'Invoices'[Currency] && 
    'CurrencyRates'[CurrencyTo] = "USD" && 
    'CurrencyRates'[Date] <= 'Invoices'[OrderDate]
)2. Reliable Free API for Currency Conversion:
3. How to Implement in Power BI:
Did I answer your question? Mark my post as a solution, this will help others!
If my response(s) assisted you in any way, don't forget to drop me a "Kudos" 🙂
Kind Regards,
Poojara
Data Analyst | MSBI Developer | Power BI Consultant
Please Subscribe my YouTube for Beginners/Advance Concepts: https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS 
1, create a ExchangeRateHistory table with columns such as Date, Rate, ....
2, add a calculated column in the order table
ExRate=MAXX(TOPN(1,FILTER(ExchangeRateHistory,'ExchangeRateHistory'[Date]<='order'[Date]),'ExchangeRateHistory'[Date]),'ExchangeRateHistory'[Rate])
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.