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.
-
Hi Resta_899 ,
May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.
Thank you Poojara_D12 for your inputs.
Thank you.