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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
ViralGajjar2904
Frequent Visitor

Getting Delay for Update Parameter & refresh API while embedding report in Webpage

Hi All,

I had created a report & embed same in client's webpage successfully. I am using query parameter to dynanically update baseurl based on client's interaction. when client access particular report then update parameter & Refresh dataset API Call but it takes approx 1 min to  complete refresh cycle & load into webpage.

 

My issue is during this time client is able to see previous client's data due to baseurl taking time to dynamically change when API call.

I reseached on internet & found that post purchasing PowerBI Embed Capacity( A SKU) above problem will be solve but I am not sure about this.

 

Anybody have idea how to solve above issue...?

1 ACCEPTED SOLUTION
hackcrr
Super User
Super User

Hi, @ViralGajjar2904 

If your dataset supports it, configure incremental refresh in Power BI. By updating only the data that has changed, you can reduce the time required to refresh the data. Make sure your data model is optimized for performance. This includes reducing dataset size, using efficient DAX queries, and removing unnecessary columns and rows.
Purchasing Power BI Embedded Capacity (A SKU) can significantly improve performance. This dedicated capacity ensures your reports have more resources and less contention with other tenants, resulting in faster data refreshes and parameter updates. Further improve performance with the dedicated capacity of caching that comes with the Power BI service.
Optimize API calls to reduce latency. This might include batching requests where possible and ensuring API calls don't block.
Leverage asynchronous operations to avoid blocking your application's main thread while waiting for an API response.

async function refreshReport() {
    await updateParameters();
    await refreshDataset();
    // Update UI or handle data post-refresh
}

Implementing load indicators:

<!-- Example HTML for loading indicator -->
<div id="loadingIndicator" style="display: none;">
    Loading, please wait...
</div>
// Example JavaScript to show/hide loading indicator(JS)
function showLoadingIndicator() {
    document.getElementById('loadingIndicator').style.display = 'block';
}

function hideLoadingIndicator() {
    document.getElementById('loadingIndicator').style.display = 'none';
}

async function updateAndRefresh() {
    showLoadingIndicator();
    await refreshReport();
    hideLoadingIndicator();
}

 

If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly

View solution in original post

1 REPLY 1
hackcrr
Super User
Super User

Hi, @ViralGajjar2904 

If your dataset supports it, configure incremental refresh in Power BI. By updating only the data that has changed, you can reduce the time required to refresh the data. Make sure your data model is optimized for performance. This includes reducing dataset size, using efficient DAX queries, and removing unnecessary columns and rows.
Purchasing Power BI Embedded Capacity (A SKU) can significantly improve performance. This dedicated capacity ensures your reports have more resources and less contention with other tenants, resulting in faster data refreshes and parameter updates. Further improve performance with the dedicated capacity of caching that comes with the Power BI service.
Optimize API calls to reduce latency. This might include batching requests where possible and ensuring API calls don't block.
Leverage asynchronous operations to avoid blocking your application's main thread while waiting for an API response.

async function refreshReport() {
    await updateParameters();
    await refreshDataset();
    // Update UI or handle data post-refresh
}

Implementing load indicators:

<!-- Example HTML for loading indicator -->
<div id="loadingIndicator" style="display: none;">
    Loading, please wait...
</div>
// Example JavaScript to show/hide loading indicator(JS)
function showLoadingIndicator() {
    document.getElementById('loadingIndicator').style.display = 'block';
}

function hideLoadingIndicator() {
    document.getElementById('loadingIndicator').style.display = 'none';
}

async function updateAndRefresh() {
    showLoadingIndicator();
    await refreshReport();
    hideLoadingIndicator();
}

 

If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.