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

Try your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join 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
Memorable Member
Memorable Member

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
Memorable Member
Memorable Member

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
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.