Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us at FabCon Vienna from September 15-18, 2025, for the ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM. Get registered

Find articles, guides, information and community news

Most Recent
grazitti_sapna
Super User
Super User

Integrating Salesforce with Power BI can feel like unlocking a treasure chest—rich data, powerful visualizations, and strategic insights just waiting to be explored. However, to truly leverage this potential, effective data modeling is paramount. 

Too often, teams connect their data hastily, excited to dive into dashboards—only to find themselves facing sluggish performance, mismatched figures, or confusing visuals. The culprit? Poor data modeling.

In this post, we’ll walk through the best practices for modeling Salesforce data in Power BI with real-world context to help you avoid the pitfalls and build a rock-solid foundation for insight. Let’s get started!

 

1.jpg

 

 

Understand Your Salesforce Data Model (Before You Even Open Power BI!)

 

73f0120e-f97c-4a3d-aa71-14e005a6afbe.png

Imagine starting a puzzle without knowing what the final picture looks like. That’s what connecting Power BI to Salesforce without preparation feels like.

Before opening Power BI, take a step back. Grab a whiteboard or notebook and map out the Salesforce objects and fields you plan to use.

For example, if your business wants to analyze sales performance, your journey might begin with Opportunities, then branch into Accounts, Contacts, and Users. However, each of these objects has its own rules and relationships, like how an Opportunity is linked to an Account, or how a User owns that Opportunity. Consider:

  • Relationships: How are these objects related in Salesforce? Understand parent-child relationships (e.g., Account and Contact) and lookup relationships. This knowledge is crucial for creating accurate relationships in your Power BI model.
  • Field Types: Be aware of the data types of your Salesforce fields (e.g., text, number, date, picklist). This will influence how you can transform and analyze the data in Power BI.
  • Data Volume: How much data are you pulling? Large datasets might require more strategic modeling to ensure performance.
  • Business Questions: What questions are you trying to answer with this data? This will help you focus on the relevant objects and fields and design your model accordingly.

Understanding this up front will save you countless hours later.

 

 Import Only What You Need

 

ae8f64f2-7cad-4195-9d79-0a09f953b7f1.png

It's tempting to bring in every Salesforce object and field, "just in case." Resist this urge! Importing unnecessary data bloats your Power BI model, slows down refresh times, and can make analysis more complex. Instead:

  • Be Selective: Only import the objects and fields directly relevant to your reporting needs.
  • Consider Views: Leverage Salesforce list views to pre-filter data and bring in only the essential records.
  • Optimize Queries: While the native Salesforce connector in Power BI does not support direct SOQL (Salesforce Object Query Language) queries, optimized data retrieval can still be achieved through alternative methods. To precisely control data selection and filtering, you can:

    • Develop a custom connector that supports SOQL queries, or

    • Use Web.Contents in Power Query to make REST API calls to Salesforce and pass SOQL queries manually.

    These approaches allow fine-grained control over data extraction, reducing volume and improving performance

Less is more when it comes to modeling for performance and clarity.

 

 Define Clear Relationships in Power BI

4.png

 

Once, a client couldn’t figure out why their reports showed $0 in revenue for certain accounts. The issue? A missing relationship between the Opportunities and Accounts tables.

In Power BI, relationships are everything. Without them, data lives in silos, and your visuals won’t reflect reality.

To prevent that:

  • Identify Primary and Foreign Keys: Understand which fields uniquely identify records in each object (primary keys) and which fields link records between objects (foreign keys).
  • Create Relationships: In Power BI's Model view, drag the primary key field from one table to the corresponding foreign key field in another.
  • Define Cardinality: Specify the type of relationship (e.g., One-to-Many, Many-to-One, One-to-One). For example, one Account can have multiple Contacts (One-to-Many).
  • Set Cross-filter Direction: Determine how filtering should flow between related tables (Single or Both). Choose "Both" when you need to filter one table based on selections in the other and vice versa.

Optimize Data Types for Performance and Analysis

 

unnamed (1).png

 

Power BI does a decent job of guessing field types, but it’s not infallible. I once had a report that wouldn’t let me create a date hierarchy. Turned out the “date” column was formatted as text!

When modeling, always double-check:

  • Numeric Fields: Ensure fields used for calculations are set to appropriate numeric types (e.g., Whole Number, Decimal Number).
  • Date Fields: Verify date fields are recognized as dates to enable time-based analysis.
  • Text Fields: Be mindful of large text fields, as they can impact performance. Consider if you need the entire text or if summarizing is sufficient.
  1. Create Calculated Columns and Measures Thoughtfully

A data engineer once told me, “Calculated columns are like sugar—use sparingly.” And he was right.

Power BI gives you powerful tools to create new logic—whether row-by-row using calculated columns or aggregating using measures with DAX.

Here’s how to use them wisely:

 

 

  • Use Calculated Columns: Use these to add new columns based on existing data within a table (e.g., concatenating first and last names). Be mindful of creating too many calculated columns, as they are computed during data refresh and can impact performance.
  • Use Measures: These are calculations performed on aggregated data and are generally more performant than calculated columns for aggregations (e.g., calculating the total value of closed opportunities). Write clear and efficient DAX for your measures.

Handle Salesforce Picklist Fields Effectively

 

Picklists seem simple until they’re not. A single-select picklist (like "Stage" in Opportunities) is easy to use in Power BI. However, multi-select picklists (e.g., a field for "Interested Products" that might contain “Product A; Product B; Product C”) can be challenging for filtering and aggregation. Here’s how to handle them:

  • Single-Select Picklists: These can typically be used directly in your Power BI model.
  • Multi-Select Picklists: These often store multiple values in a single field (e.g., "Value 1; Value 2; Value 3"). You'll likely need to split these values into separate rows or columns in Power BI for effective analysis. Consider using Power Query to split these delimited values.

Manage Large Salesforce Datasets Strategically

 

A global sales team importing 10 million records daily quickly learned: performance isn’t just about the report—it starts at the data model.

If you’re working with large volumes:

  • Enable Incremental Refresh: Configure incremental refresh in Power BI to only update new or changed data, significantly reducing refresh times.
  • Use Dataflows: Consider using Power BI dataflows to prepare and transform your Salesforce data in the Power BI service before loading it into your datasets. This can improve performance and reusability.
  • Aggregate Wisely: Pre-aggregate data in Power BI where appropriate to reduce the number of rows processed during analysis.

Document Your Data Model

 

At some point, someone will ask: “What does this field mean?” Or “Why did we join these two tables like that?”

If it’s not documented, your team could be guessing—or worse, changing logic they don’t understand. Therefore,

  • Add Table and Column Descriptions: Provide clear descriptions for your tables and columns to help others (and your future self) understand the data model.
  • Use Visual Relationship Diagrams: Power BI's Model view provides a visual representation of your relationships. Keep this organized and easy to understand.
  • Comment your DAX Logic: Add comments to your DAX measures and calculated columns to explain the logic.

Final Thoughts: The Power is in the Preparation

Salesforce and Power BI are a powerful duo—but only when connected with intention.

Modeling isn’t just about tables and joins—it’s about aligning your data with your business goals. Done right, it empowers you to spot trends faster, measure performance more clearly, and make smarter decisions every day.

So, slow down at the start. Ask the right questions. Map the relationships. And build a model that tells the full story—accurately, efficiently, and with clarity.

Because the difference between a dashboard that dazzles and one that confuses often comes down to one thing: the data model behind  it.

#engagements #powerbi #powerbidesktop #powerquery #vizualization #salesforce #MVP #superuser #sfdc

Bibiano_Geraldo
Super User
Super User

Data Storytelling Icons_simple_compose.png

Display live, auto-updating dashboards in a continuous slideshow ideal for corporate TVs, war rooms, and decision-making spaces.

Read more...

Abhilash_P
Responsive Resident
Responsive Resident

As Power BI developers, we strive to follow best practices to create impactful reports and dashboards. However, there are times when we overlook certain critical settings or features that can significantly affect the quality and usability of our work. In this first blog, we’ll explore one commonly missed practice and discuss why addressing them is so important.

Read more...

anmolmalviya05
Super User

Welcome to Part 5 of our blog series “Power BI Enhancements You Need to Know”, where we uncover the features that are transforming the Power BI experience for developers and users alike. In this post, we're exploring one of the most intuitive and time-saving features recently introduced: On-Object Interaction in Power BI.

 

Read more...

burakkaragoz
Community Champion
Community Champion

DAX (Data Analysis Expressions) is at the heart of advanced analytics in Power BI, but writing complex DAX formulas can be intimidating for many users. Fortunately, Power BI now offers powerful automation tools that make DAX more accessible than ever. In this post, I’ll explain how you can speed up your data analysis and reporting by leveraging one-click DAX features—even if you’re not a DAX expert.

Read more...

burakkaragoz
Community Champion
Community Champion

Power BI continues to evolve, and the Copilot feature is a game-changer for anyone looking to build insightful reports quickly. In this post, I’ll walk you through how to leverage Power BI Copilot for rapid, automated report creation—even if you have minimal experience with DAX or complex data modeling.

Read more...

anmolmalviya05
Super User
Super User

Welcome to Part 4 of our Power BI enhancement series! In this installment, we'll explore the Task Flow feature in Microsoft Fabric, a powerful tool designed to streamline your data projects by providing a visual representation of workflows within your workspace.

Read more...

anmolmalviya05
Super User
Super User

In Part-1 of this series, we explored how the Power BI workspace evolved with Microsoft Fabric.
In Part-2 we introduced OneLake – the single, unified data foundation for your entire organization.

Now it’s time to talk about one of the most transformative upgrades in performance and scalability for Power BI users

Read more...

anmolmalviya05
Super User
Super User

In Part-1 of this series, we explored how the Power BI workspace has evolved from a simple reporting environment into a multi-functional data platform, thanks to Microsoft Fabric.

Now, let’s unlock one of the biggest game-changers in this transformation.

Read more...

anmolmalviya05
Super User
Super User

Power BI is no longer just a data visualization tool – it’s now the central engine of the entire Microsoft Fabric ecosystem.

Read more...

burakkaragoz
Community Champion
Community Champion

Learn how to build real-time dashboards in Power BI using push datasets and REST API. This hands-on guide walks you through setup, data streaming with Python, and dashboard design. Perfect for data professionals and Power BI enthusiasts.

Read more...

kushanNa
Solution Sage
Solution Sage

Discover how to create a fully customized 100% stacked bar chart using Python visuals inside Power BI!
✔ Total values at the end of bars
✔ Interactive filtering with a slider
✔ Clean, publication-ready styling

Whether you're answering tough stakeholder questions or just tired of default visuals, this walkthrough is for you.

👉Dive into the full blog and see how it’s done step by step!

Read more...

Abhilash_P
Responsive Resident
Responsive Resident

This post focuses on one of the most frequently asked questions: What is the Microsoft Fabric licensing model? and provides comparison with the Power BI licensing structure to highlight their similarities and differences

Read more...

anmolmalviya05
Super User
Super User

Working with Tabular Model Definition Language (TMDL) provides a powerful way to define and manage your Power BI semantic models through scripts. But before applying any script, especially one copied or adapted from another source, it's crucial to understand its potential impact.

That’s where the TMDL View Preview comes in.

In this blog, we’ll walk you through how TMDL preview works, how it helps you understand script changes before applying them, and what to keep in mind while using it.

Read more...

uzuntasgokberk
Super User
Super User

Learn how to build Custom Column and Conditional Columns in Power BI; in this concise tutorial I walk you through the Power Query Editor step by step.

Read more...

Helpful resources

Join Blog
Interested in blogging for the community? Let us know.