Forum Discussion
Best Practices for Datasets Drawing from Salesforce
Our main data source for our PBI reports is Salesforce, and we will often pull the same or similar sets of objects into Power BI Desktop, manipulate them slightly, and upload a report and dataset into PBI Service. As a result, we have a bunch of datasets that are refreshing every 1-2 hours with almost the same data in them. At the same time, we have a few datasets that are more highly specialized, requiring much more manipulation in the query editor before loading the data. These more specialized datasets often struggle to refresh, which seems to be because of limits on the complexity of what Power BI can pull from Salesforce.
Given that it's now possible to build reports in Desktop using datasets already in Service, would we benefit from going through and rebuilding what we've already published to use fewer datasets? At the very least, can we expect better refresh rates for our more complex reports, or better loading times in PBI Service for end users? How can we find the right metrics to make these kinds of evaluations?
5 Replies
- IceyCommunity Support
Hi ivan_larson_cki ,
Do you mean that you want to Connect to datasets in the Power BI service from Power BI Desktop or Connect to data created by Power BI dataflows in Power BI Desktop (Beta)?
Best Regards,
Icey
- ivan_larson_ckiHelper III
Hi Icey, I mean connecting datasets in the Power BI service from Power BI Desktop.
- ReportGuruPost Patron
Hi ivan_larson_cki were you able to find a solution? As a workaround, maybe you can try to test your connection with a 3rd party connector. I've tried windsor.ai, supermetrics and funnel.io. I stayed with windsor because it is much cheaper so just to let you know other options. In case you wonder, to make the connection first search for the Salesforce connector in the data sources list:
After that, just grant access to your Salesforce account using your credentials, then on preview and destination page you will see a preview of your Salesforce fields:
There just select the fields you need. It is also compatible with custom fields and custom objects, so you'll be able to export them through windsor. Finally, just select PBI as your data destination and finally just copy and paste the url on PBI --> Get Data --> Web --> Paste the url.
- ivan_larson_ckiHelper III
Hi ReportGuru,
Wow, this is an old post! I think the overall Power BI environment has changed enough that we're no longer as concerned here. We're now using Dataflows to make more flexible use of where to repeat the same transformations vs. where to pull a report directly with its own data straight from Salesforce. The main problem with all intermediaries (dataflows, the ones you mentioned above, Snowflake, etc.) is there's a delay since you have to have two separate refreshes between end user visibility and changes in Salesforce. For a lot of what I'm doing right now, the efficiency savings aren't worth the delay. Where the delay is worthwhile, we're finding a lot of good success with dataflows now.
- metricaPost Prodigy
I would separate the decision into reuse, refresh reliability, and data freshness.
Shared dataflows or shared semantic models can reduce duplicated Salesforce pulls and make governance easier, but they will not automatically make every report faster. Dataflows also add another refresh layer, so they may not fit near-real-time reporting.
A practical pattern:
Use staging dataflows for raw Salesforce extraction.
Use transformation dataflows for reusable cleanup.
Use shared semantic models for common reporting.
Keep direct Salesforce pulls where freshness matters most.
Measure refresh duration, failure rate, dataset size, API load, and acceptable latency before consolidating.
If repeated broad Salesforce extraction is the main pain, Power BI Connector for Salesforce by Metrica Software can help: https://appexchange.salesforce.com/appxListingDetail?listingId=31526f0e-abd8-4cb5-bd1a-3bd56b5c0577
It lets you define Salesforce data sources inside Salesforce, select needed objects and fields, apply filters, preview the output, and use SOQL mode when needed.
Docs and support:
https://metricasoftware.com/docs/salesforce/
https://metricasoftware.com/docs/salesforce/contact-support/Cheers,
Metrica Team