Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi! I need help converting my sales values between 3 difference currencies. I have 2 slicers in my dashboard, one to select the country that my store is in, and the other to select the currency that I want to view my sales figures in.
I want to switch between SGD, MYR and USD. I have the conversion rate in the table below. My sales figures are reported in their base currency (Singapore Sales in SGD while Malaysia Sales in MYR).
Scenarios
Scenario 1:
Country selected = Singapore
Currency selected = SGD/MYR/USD
return total sales in SGD/MYR/USD
Scenario 2:
Country selected = Malaysia
Currency selected = SGD/MYR/USD
return total sales in SGD/MYR/USD
I have been experimenting with SWITCH() based on SELECTEDVALUE() of my currency slicer but I did not get it to work for all the conversions. Could anyone point me in the right direction?
Thanks!
Example
Converting total Singapore sales from SGD to USD:
100 + 200 = SGD$300
SGD$300 / 1.349 = USD$222.39
Sample Data
Currency Conversion Lookup:
Conversion Rate | Country | Base Currency | Converted Currency | Conversion (notes) |
1.349 | Singapore | SGD | USD | SGD to USD |
4.578 | Malaysia | MYR | USD | MYR to USD |
Sales Table:
Country | Sales |
Singapore | 100 |
Singapore | 200 |
Malaysia | 300 |
Malaysia | 600 |
Solved! Go to Solution.
Hi @Anonymous , one of the ways to achieve the result:
amt =
VAR selectedCurrency = SELECTEDVALUE ( Currencies[Currency] )
VAR rateToUSD =
IF (
selectedCurrency = "USD",
1,
CALCULATE (
MAX ( 'Currency Conversion'[Conversion Rate] ),
'Currency Conversion'[Base Currency] = selectedCurrency,
ALL ( 'Currency Conversion' )
)
)
VAR selectedCountry = SELECTEDVALUE ( 'Currency Conversion'[Country] )
VAR selectedCountryCurrency =
CALCULATE (
MAX ( 'Currency Conversion'[Base Currency] ),
'Currency Conversion'[Country] = selectedCountry,
ALL ( 'Currency Conversion' )
)
VAR selectedCountryCurrencyRate =
CALCULATE (
MAX ( 'Currency Conversion'[Conversion Rate] ),
'Currency Conversion'[Base Currency] = selectedCountryCurrency,
ALL ( 'Currency Conversion' )
)
VAR valueUSD = [Sales amt] / selectedCountryCurrencyRate
RETURN
IF (
ISFILTERED ( Currencies[Currency] )
&& ISFILTERED ( 'Currency Conversion'[Country] ),
IF ( selectedCurrency = "USD", valueUSD, valueUSD * rateToUSD )
)
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.
Check out my latest demo report in the data story gallery.
Stand with Ukraine!
Here are official ways you can support Ukraine financially (accounts with multiple currencies):
1) Support the Armed Forces of Ukraine: https://bank.gov.ua/ua/about/support-the-armed-forces
2) Come Back Alive foundation: https://www.comebackalive.in.ua/
Thank you!
Hi @Anonymous , one of the ways to achieve the result:
amt =
VAR selectedCurrency = SELECTEDVALUE ( Currencies[Currency] )
VAR rateToUSD =
IF (
selectedCurrency = "USD",
1,
CALCULATE (
MAX ( 'Currency Conversion'[Conversion Rate] ),
'Currency Conversion'[Base Currency] = selectedCurrency,
ALL ( 'Currency Conversion' )
)
)
VAR selectedCountry = SELECTEDVALUE ( 'Currency Conversion'[Country] )
VAR selectedCountryCurrency =
CALCULATE (
MAX ( 'Currency Conversion'[Base Currency] ),
'Currency Conversion'[Country] = selectedCountry,
ALL ( 'Currency Conversion' )
)
VAR selectedCountryCurrencyRate =
CALCULATE (
MAX ( 'Currency Conversion'[Conversion Rate] ),
'Currency Conversion'[Base Currency] = selectedCountryCurrency,
ALL ( 'Currency Conversion' )
)
VAR valueUSD = [Sales amt] / selectedCountryCurrencyRate
RETURN
IF (
ISFILTERED ( Currencies[Currency] )
&& ISFILTERED ( 'Currency Conversion'[Country] ),
IF ( selectedCurrency = "USD", valueUSD, valueUSD * rateToUSD )
)
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.
Check out my latest demo report in the data story gallery.
Stand with Ukraine!
Here are official ways you can support Ukraine financially (accounts with multiple currencies):
1) Support the Armed Forces of Ukraine: https://bank.gov.ua/ua/about/support-the-armed-forces
2) Come Back Alive foundation: https://www.comebackalive.in.ua/
Thank you!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
23 | |
21 | |
20 | |
13 | |
12 |
User | Count |
---|---|
43 | |
31 | |
24 | |
22 | |
22 |