Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Good morning, everyone!
I would really appreciate your help with something.
I’m working on building a pipeline report in Power BI using Salesforce (SFDC) data. The key value field I need is Net_ARR__c, but it must be reported in USD only, without applying any currency conversion, since the company reports everything in USD.
However, when I pull the Opportunity object into Power BI, the Net_ARR__c field appears without being converted into USD (i.e., it reflects the local currency value instead).
Has anyone dealt with this before? I’d love to hear your suggestions on the best way to handle or overcome this issue.
Thanks in advance!
Solved! Go to Solution.
Hi @SBertozzo77
This is a common issue when working with multi-currency Salesforce orgs in Power BI or other external BI tools. Salesforce stores currency fields like Net_ARR__c in local currency by default, unless you explicitly query the converted (reporting) value, which is stored in USD (or your corporate currency).
Use the CurrencyIsoCode Field + Internal Exchange Rates
If your Salesforce org uses advanced currency management, you'll have the exchange rates.
2. Get a currency rate table from Salesforce:
3.Join in Power BI:
🌟 I hope this solution helps you unlock your Power BI potential! If you found it helpful, click 'Mark as Solution' to guide others toward the answers they need.
💡 Love the effort? Drop the kudos! Your appreciation fuels community spirit and innovation.
🎖 As a proud SuperUser and Microsoft Partner, we’re here to empower your data journey and the Power BI Community at large.
🔗 Curious to explore more? [Discover here].
Let’s keep building smarter solutions together!
Hi @SBertozzo77
This is a common issue when working with multi-currency Salesforce orgs in Power BI or other external BI tools. Salesforce stores currency fields like Net_ARR__c in local currency by default, unless you explicitly query the converted (reporting) value, which is stored in USD (or your corporate currency).
Use the CurrencyIsoCode Field + Internal Exchange Rates
If your Salesforce org uses advanced currency management, you'll have the exchange rates.
2. Get a currency rate table from Salesforce:
3.Join in Power BI:
🌟 I hope this solution helps you unlock your Power BI potential! If you found it helpful, click 'Mark as Solution' to guide others toward the answers they need.
💡 Love the effort? Drop the kudos! Your appreciation fuels community spirit and innovation.
🎖 As a proud SuperUser and Microsoft Partner, we’re here to empower your data journey and the Power BI Community at large.
🔗 Curious to explore more? [Discover here].
Let’s keep building smarter solutions together!
Thank you to everyone who replied to my question! All good comments, but the reply from grazitti_sapna is directed towards the company police and ties the values to Salesforce.
Hi @SBertozzo77
When you pull data from Salesforce into Power BI, fields like Net_ARR__c are stored in the local currency of the opportunity (EUR, GBP, etc), not USD. So unless you specifically grab a field that holds the value in USD, you’ll get the local amount, and your reports won’t be in the currency you want.
Pull these fields from SFDC: Net_ARR__c (the local currency value). CurrencyIsoCode (currency type for each record, e.g. EUR, GBP). Optionally, the opportunity’s ExchangeRate or grab the org’s exchange rate table (DatedConversionRate) if your Salesforce org uses Advanced Currency Management.
In Power BI: Join your opportunity data to the exchange rate table using CurrencyIsoCode (and date, if needed). Create a calculated column like: Net_ARR_USD = [Net_ARR__c] * [ConversionRate]. This gives you the value in USD, ready for all your reporting.
Hi @SBertozzo77
1. To resolve this you can either create a custom column at power query level or a calculated column in the model. You just need to multiply/divide the value with US dollar. You can create a calculated column like below
Net_ARR_USD_Mod = 'Opportunity'[Net_ARR__c] * 1.25 -- Example: Assuming exchange rate is 1.25 USD
2. Not sure this approach would work but try setting your locale to English (United States) so by default all the data interpreted will be in US Format
Go to Options -> Settings _> Current File -> Regional Settings
Thanks,
Jai
Proud to be a Super User! | |
Hi @SBertozzo77
It’s a common issue when pulling data from Salesforce (SFDC) into Power BI, especially when dealing with fields like Net_ARR__c, which are stored in the local currency. Salesforce saves values in the local currency of the user or deal, but it also calculates and stores corporate currency values (usually USD) in special fields — often ending with _converted, or in custom fields or objects.
Possible Solutions:
Check for a parallel field like Net_ARR__c_converted or Net_ARR__c_USD__c
In many cases, Salesforce automatically generates a field that holds the value in the corporate currency.
Access to it might require specific permissions or adjustments to your query/connector.
Manually convert using exchange rate fields
Look for fields like ExchangeRate or CurrencyIsoCode on the Opportunity object.
You can calculate the USD value in Power BI using a DAX measure like:
Net_ARR_USD = 'Opportunity'[Net_ARR__c] / 'Opportunity'[ExchangeRate]
Use the CurrencyType or DatedConversionRate objects in Salesforce
These contain historical exchange rates by date and can be used for accurate conversion.
Advanced: Use SOQL through Power Query
If you're connecting via the Salesforce API (rather than the standard connector), you can control the query (SOQL) and select additional fields, including ones not automatically exposed.
If you're using Power BI's default Salesforce connector, it may not expose all fields, especially system or conversion fields. In that case, consult with your Salesforce admin or inspect the data model using Workbench or the REST API to find the exact field name.
You can also take a look at the linked discussion for more information :
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
User | Count |
---|---|
77 | |
74 | |
42 | |
32 | |
28 |
User | Count |
---|---|
100 | |
93 | |
52 | |
50 | |
48 |