How to Refresh Only One Data Source in Power BI
Waiting for a massive Power BI report to refresh can feel like watching paint dry, especially when you only need to update data from one small sales spreadsheet. A full dataset refresh can chug through all your data sources - your vast SQL database, sprawling Google Analytics history, and dozens of other connections - even if only one of them has changed. This article explains how to skip that frustrating wait by refreshing only a single data source in Power BI, saving you valuable time and resources.
Why Refresh a Single Data Source?
In a perfect world, all your data would update instantly. In reality, juggling multiple data sources comes with constraints. Choosing to refresh only one specific table or source isn't just a clever trick, it's a strategic move for better performance and efficiency.
Here’s why it’s so beneficial:
- It Saves a Ton of Time: This is the most obvious benefit. If your Google Analytics data takes 30 minutes to refresh, but you only updated a small mapping table in Excel, why wait? A selective refresh lets you update that one table in seconds and get back to your analysis.
- Reduces Load on Source Systems: Constantly hitting your company’s production database or a third-party API with full data refreshes can slow things down for everyone. By only pulling what you need, you’re being a good data citizen and reducing unnecessary strain on those systems, which can also help you avoid hitting API rate limits.
- Accelerates Development and Testing: When you're building or modifying a report, you often need to test changes by refreshing the data. Running a full-scale refresh every time you import a small look-up table is incredibly inefficient. Refreshing a single table makes this process nearly instant, allowing for a much faster development cycle.
- Enables Different Refresh Frequencies: Some of your data may be static or only update monthly (like sales targets), while other data is dynamic and updates hourly (like website traffic or sales transactions). Selective refreshes allow you to manage these different data cadences without having to refresh an entire dataset "just in case."
The Simple Way: Manual Refresh in Power BI Desktop
The easiest and most direct way to refresh a single data source is right within Power BI Desktop. This method works perfectly when you are building reports on your local machine and need a quick update to a specific table.
This process refreshes a single table, which, in many cases, is tied to a single, distinct data source. If multiple tables come from one source (like several tables from a single SQL database), you would refresh them individually using this method.
Here's how to do it:
Step 1: Navigate to the Right View
First, open your Power BI file (.pbix). To see your tables, you need to be in either the Report, Data, or Model view. The easiest place to do this is from the Data pane on the right side of the Report view.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Step 2: Locate the Table You Want to Refresh
In the Data pane, you'll see a list of all the tables in your data model. Scroll through the list to find the specific table linked to the data source you want to update.
For example, you might have tables for Sales Data, Marketing Campaigns, and Product Inventory. If you just updated the marketing campaign budget in an Excel file, you would target the Marketing Campaigns table.
Step 3: Right-Click and Refresh
Hover over the table name, click on the ellipsis (...), and a context menu will appear. From this menu, select Refresh data.
Power BI will immediately begin refreshing only the data for that specific table. You'll see a small loading dialog pop up, but it should finish much faster than a full refresh. Once it’s done, any visuals in your report that use data from that table will be updated automatically.
Fair Warning: This method is great for quick, on-the-fly updates in Power BI Desktop but doesn’t translate to automated selective refreshes once your report is published to the Power BI Service.
The Challenge: Refreshing a Single Table in the Power BI Service
So you’ve published your beautiful dashboard to the Power BI Service. Now what? When you go to your dataset and click the "Refresh now" button, you’ll notice an unfortunate reality: Power BI refreshes the entire dataset by default. There is no simple menu option to "refresh just this one table."
This is an intentional design choice, as the Service aims to ensure data consistency across the entire model. However, it’s a major pain point for users dealing with slow "dimension" tables and fast-moving "fact" tables. Fortunately, there are more advanced workarounds to get the selective refresh functionality you need.
Advanced Method #1: Use Power Automate for Targeted Refreshes
Power Automate (formerly Microsoft Flow) is an incredibly powerful tool for orchestration and automation, and it provides the control we need. With Power Automate, you can create a workflow that not only refreshes your dataset but also tells Power BI which specific tables to refresh.
This is ideal for scenarios where you want to trigger a refresh for a specific table based on an event — like a file being updated in a SharePoint folder — or if you want to run it on a separate schedule.
How to Set It Up:
- Create a New Flow: Go to Power Automate and create a new flow. You can start it with any trigger you like, such as a schedule ("Recurrence"), a manual button press ("Manually trigger a flow"), or an event (e.g., "When a file is created or modified in OneDrive").
- Add the Power BI Action: Add a new step to your flow and search for the Power BI connector. Select the action called "Refresh a dataset".
- Configure the Action: Select the correct Workspace and Dataset from the dropdowns that you want to refresh.
- The Hidden Trick - Specify Tables: Here’s the key step. After selecting your dataset, a few advanced options appear. Click "Show advanced options." You will see a field called Objects. This is where you can specify which tables to refresh using a small JSON snippet. Provide an array of objects, where each object has a single property: "table" and its value is the name of your table.
To refresh a single table named Sheet1_Sales, you would enter this into the "Objects" field:
[
{
"table": "Sheet1_Sales"
}
]To refresh two tables, Campaigns and Products, you would enter this:
[
{
"table": "Campaigns"
},
{
"table": "Products"
}
]- Save and Run: Save your flow. Now, whenever this flow runs, it will only refresh the exact tables you specified, leaving the rest of the dataset untouched.
Note: To use this method, the dataset must reside in a workspace that is backed by a Power BI Premium or Premium-Per-User (PPU) capacity.
Advanced Method #2: Using Tabular Model Scripting Language (TMSL)
For the most precise control, especially in enterprise environments, you can use Tabular Model Scripting Language (TMSL). This might sound intimidating, but it's essentially just a set of commands written in JSON format that tells the engine behind Power BI exactly what to do.
You can execute TMSL scripts using various tools, but the most common for Power BI users is SQL Server Management Studio (SSMS).
How it Works:
- Connect SSMS to Power BI: You'll need SSMS version 18 or higher. To connect, get your Workspace Connection URL from Power BI Service (go to your workspace -> Settings -> Premium -> Workspace Connection). Use this URL as the server name in SSMS and log in with your Power BI credentials.
- Locate Your Table: Once connected, you can browse your workspace like a database server. Navigate down to the specific database (your dataset), then to the Tables folder.
- Write a TMSL Script: Right-click on the database and open a new XMLA query window. Here, you'll write a simple TMSL command to refresh your table.
The script for refreshing a table named RegionLookup looks like this:
{
"refresh": {
"type": "full",
"objects": [
{
"database": "YourDatasetName",
"table": "RegionLookup"
}
]
}
}- Execute the Script: Run the script. Just like with Power Automate, the engine will only process a refresh for the
RegionLookuptable.
This method offers immense flexibility and can be integrated into larger data pipeline tools like Azure Data Factory. It’s the ultimate method for granular control over your refresh operations. It also requires a Premium or PPU workspace.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
A Proactive Approach: Using Dataflows
Sometimes, the best solution isn't to force a selective refresh but to restructure your data model so it’s no longer an issue. This is where Power BI Dataflows shine. A dataflow is essentially a collection of tables created and managed in the Power BI Service that can then be used as a source for multiple datasets.
Instead of connecting directly to ten different sources in one large Power BI Desktop file, you can break them up:
- Create a Dataflow for Slow Data: Create a dataflow that connects to your slow-moving, large data sources (e.g., historical sales data from a clunky old database). You can schedule this dataflow to refresh only once a day.
- Create another Dataflow for Fast Data: Create a second dataflow for your dynamic, frequently changing data (e.g., hourly web traffic). Schedule this one to refresh every hour.
- Connect Your Main Report to the Dataflows: In your Power BI Desktop file, instead of connecting to the original sources, connect to your new dataflows. The data is pre-processed and ready to go.
This modular approach lets you manage refresh schedules at the source (in the dataflow settings) instead of dealing with complex refreshes at the dataset level. Each component refreshes independently on its own schedule, making your combined dataset efficient and up-to-date where it counts.
Final Thoughts
Learning how to perform a selective refresh is a huge step toward managing Power BI reports more efficiently. For quick local updates, the direct table refresh in Desktop is perfect. For more powerful, automated control in the Power BI Service, Power Automate and TMSL provide the granular control you need to tame large and complex datasets.
While powerful, tools like Power BI often require a significant investment in time to master refresh schedules, data models, and performance tuning — often pulling you away from the actual analysis. Our goal with Graphed is to eliminate that friction completely. Instead of juggling these complex technical processes, we let you connect all your data sources like Google Analytics, HubSpot, and Shopify with a few clicks, then create live, real-time dashboards just by describing what you want to see in plain English. Your data is always current, freeing you to focus on finding insights, not managing data pipelines.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.