Forum Discussion
Partial Table Refresh with Instant Visual Update in Power BI using Power Automate
- 1 year ago
Hi Resta_899
Yes, what you're aiming to do—refreshing a specific table in a Power BI dataset on demand via a button in the Power BI Service—is indeed possible by combining Power Automate, the XMLA endpoint, and a script (usually TMSL or XMLA commands). You're correct that refreshing a dataflow alone won't update report visuals unless the dataset is also refreshed, and the Power BI REST API doesn't support partial refreshes. However, since you're using a Premium workspace, you can take advantage of the XMLA Read/Write endpoint, which allows for table-level refreshes.
Here's the approach: First, create a Power Automate flow triggered by a Power BI button. In the flow, use an HTTP action or Azure Automation Runbook (or even a PowerShell/Azure Function) that sends a TMSL refresh command via the XMLA endpoint. The TMSL script can be targeted at the specific table you want to refresh, like this:
{ "refresh": { "type": "full", "objects": [ { "database": "YourDatasetName", "table": "YourTableName" } ] } }This command can be sent using a PowerShell script via Invoke-ASCmd or Microsoft.AnalysisServices.Tabular libraries, and you can call it using Power Automate's HTTP with Azure AD or Azure Automation. Once the specific table is refreshed, the dataset will reflect the updated visuals immediately on next interaction or automatic re-query by visuals, assuming the model supports query interactivity (e.g., with Import storage mode).
So yes, it’s a bit of an advanced setup, but it’s absolutely feasible. The key components are:
-
Premium workspace with XMLA endpoint enabled.
-
A TMSL/XMLA script for partial refresh.
-
Power Automate triggering a backend process (PowerShell/Azure Runbook/Azure Function) that executes the script.
-
A Power BI button connected to the flow.
This solution avoids full dataset refreshes and gives you near-instant updates for a specific table—ideal for large models with on-demand refresh needs.
-
Hello Resta_899 ,
You're absolutely right, while Enhanced Refresh via REST API (available in Premium/PPU) allows you to refresh a single table, Power BI does not currently support instant visual updates in the report after partial refresh unless the page is manually refreshed or auto page refresh is enabled.
If your dataset is in Import mode, visuals won't auto-update post-refresh. For near real-time updates, consider:
-
Auto Page Refresh (if using DirectQuery or Hybrid Tables),
-
Or embedding with JavaScript API to programmatically reload the report after the table refresh.
If this post helps, then please give us Kudos and consider Accept it as a solution to help the other members find it more quickly.
Thankyou.
Hi @Resta_899 ,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. If my response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank you.