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

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
p_da
Helper I
Helper I

Semantic Model Refresh - Memory limit

Hello everyone,

 

I have a doubt regarding Semantic model refresh in the Power BI Service. For example, I have a FT1 Capacity (Trial) and I am trying to refresh a semantic model which is connected to a data lake. The table in the datalake, has more than 40GB of size. However, I am getting the following error:

Data source error: Resource Governing: This operation was canceled because there wasn't enough memory to finish running it. Either reduce the memory footprint of your dataset by doing things such as limiting the amount of imported data, or if using Power BI Premium, increase the memory of the Premium capacity where this dataset is hosted. More details: consumed memory 25726 MB, memory limit 25597 MB, database size before command execution 2 MB. See https://go.microsoft.com/fwlink/?linkid=2159753 to learn more. Table: sales.

That being said, how the refresh memory works ? I can only refresh semantic models that has the size less than the max memory available for the capacity ?

 

Thanks

2 ACCEPTED SOLUTIONS
hackcrr
Super User
Super User

Hi, @p_da 

While dataset size is important, it's the memory required during refresh that counts. Even if your dataset is 40GB, it doesn't mean that Power BI will need the full 40GB of memory because it uses data compression. However, it still requires a lot of memory resources, especially during transformations and when working with complex queries or large tables in DirectQuery mode.
Reduce dataset size: Consider filtering your data to include only relevant periods (for example, focusing only on the last 12 months).
Incremental refresh: If applicable, implement incremental refresh to avoid loading the entire dataset each time. Incremental refresh only allows new or changed data to be loaded, reducing memory usage.
Complex calculated columns and measures can increase memory usage during refreshes. Simplify these calculations as much as possible or move them to a data source.
: For very large datasets, consider using the DirectQuery mode, which keeps the data in the source system and extracts the data only when needed. This can help avoid memory consumption during refreshes, but it also has other limitations (for example, reporting slower performance during interactions).

View solution in original post

tharunkumarRTK
Super User
Super User

@p_da 

I would suggest you to checkout this article to understand the memory consumption for data refresh operation 

https://blog.crossjoin.co.uk/2023/04/30/measuring-memory-and-cpu-usage-in-power-bi-during-dataset-re...

 

I addition to the @hackcrr suggestion, I would like to suggest one more approach, you can use enhanced refresh operation keep the commit mode as 'partialBatch', it can reduce the memory consumption.

https://blog.crossjoin.co.uk/2024/05/12/the-partialbatch-commit-mode-in-the-power-bi-enhanced-refres...

 

Please read the complete blog before testing. 

 

Need a Power BI Consultation? Hire me on Upwork

 

 

 

Connect on LinkedIn

 

 

 








Did I answer your question? Mark my post as a solution!
If I helped you, click on the Thumbs Up to give Kudos.

Proud to be a Super User!


PBI_SuperUser_Rank@2x.png

 

 

 

 

View solution in original post

4 REPLIES 4
tharunkumarRTK
Super User
Super User

@p_da 

I would suggest you to checkout this article to understand the memory consumption for data refresh operation 

https://blog.crossjoin.co.uk/2023/04/30/measuring-memory-and-cpu-usage-in-power-bi-during-dataset-re...

 

I addition to the @hackcrr suggestion, I would like to suggest one more approach, you can use enhanced refresh operation keep the commit mode as 'partialBatch', it can reduce the memory consumption.

https://blog.crossjoin.co.uk/2024/05/12/the-partialbatch-commit-mode-in-the-power-bi-enhanced-refres...

 

Please read the complete blog before testing. 

 

Need a Power BI Consultation? Hire me on Upwork

 

 

 

Connect on LinkedIn

 

 

 








Did I answer your question? Mark my post as a solution!
If I helped you, click on the Thumbs Up to give Kudos.

Proud to be a Super User!


PBI_SuperUser_Rank@2x.png

 

 

 

 

Thanks for sharing the links, I will have a look on it to better understand the refresh consumption for Power BI semantics.

hackcrr
Super User
Super User

Hi, @p_da 

While dataset size is important, it's the memory required during refresh that counts. Even if your dataset is 40GB, it doesn't mean that Power BI will need the full 40GB of memory because it uses data compression. However, it still requires a lot of memory resources, especially during transformations and when working with complex queries or large tables in DirectQuery mode.
Reduce dataset size: Consider filtering your data to include only relevant periods (for example, focusing only on the last 12 months).
Incremental refresh: If applicable, implement incremental refresh to avoid loading the entire dataset each time. Incremental refresh only allows new or changed data to be loaded, reducing memory usage.
Complex calculated columns and measures can increase memory usage during refreshes. Simplify these calculations as much as possible or move them to a data source.
: For very large datasets, consider using the DirectQuery mode, which keeps the data in the source system and extracts the data only when needed. This can help avoid memory consumption during refreshes, but it also has other limitations (for example, reporting slower performance during interactions).

Thanks, I really appreciate your feedback. I will work on some test.

Helpful resources

Announcements
Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

"); $(".slidesjs-pagination" ).prependTo(".pagination_sec"); $(".slidesjs-pagination" ).append("
"); $(".slidesjs-play.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-stop.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-pagination" ).append(""); $(".slidesjs-pagination" ).append(""); } catch(e){ } /* End: This code is added by iTalent as part of iTrack COMPL-455 */ $(".slidesjs-previous.slidesjs-navigation").attr('tabindex', '0'); $(".slidesjs-next.slidesjs-navigation").attr('tabindex', '0'); /* start: This code is added by iTalent as part of iTrack 1859082 */ $('.slidesjs-play.slidesjs-navigation').attr('id','playtitle'); $('.slidesjs-stop.slidesjs-navigation').attr('id','stoptitle'); $('.slidesjs-play.slidesjs-navigation').attr('role','tab'); $('.slidesjs-stop.slidesjs-navigation').attr('role','tab'); $('.slidesjs-play.slidesjs-navigation').attr('aria-describedby','tip1'); $('.slidesjs-stop.slidesjs-navigation').attr('aria-describedby','tip2'); /* End: This code is added by iTalent as part of iTrack 1859082 */ }); $(document).ready(function() { if($("#slides .item").length < 2 ) { /* Fixing Single Slide click issue (commented following code)*/ // $(".item").css("left","0px"); $(".item.slidesjs-slide").attr('style', 'left:0px !important'); $(".slidesjs-stop.slidesjs-navigation").trigger('click'); $(".slidesjs-previous").css("display", "none"); $(".slidesjs-next").css("display", "none"); } var items_length = $(".item.slidesjs-slide").length; $(".slidesjs-pagination-item > button").attr("aria-setsize",items_length); $(".slidesjs-next, .slidesjs-pagination-item button").attr("tabindex","-1"); $(".slidesjs-pagination-item button").attr("role", "tab"); $(".slidesjs-previous").attr("tabindex","-1"); $(".slidesjs-next").attr("aria-hidden","true"); $(".slidesjs-previous").attr("aria-hidden","true"); $(".slidesjs-next").attr("aria-label","Next"); $(".slidesjs-previous").attr("aria-label","Previous"); //$(".slidesjs-stop.slidesjs-navigation").attr("role","button"); //$(".slidesjs-play.slidesjs-navigation").attr("role","button"); $(".slidesjs-pagination").attr("role","tablist").attr("aria-busy","true"); $("li.slidesjs-pagination-item").attr("role","list"); $(".item.slidesjs-slide").attr("tabindex","-1"); $(".item.slidesjs-slide").attr("aria-label","item"); /*$(".slidesjs-stop.slidesjs-navigation").on('click', function() { var itemNumber = parseInt($('.slidesjs-pagination-item > a.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); });*/ $(".slidesjs-stop.slidesjs-navigation, .slidesjs-pagination-item > button").on('click keydown', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); var itemNumber = parseInt($('.slidesjs-pagination-item > button.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); }); $(".slidesjs-play.slidesjs-navigation").on('click', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); }); $(".slidesjs-pagination-item button").keyup(function(e){ var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); $(".slidesjs-stop.slidesjs-navigation").trigger('click').blur(); $("button.active").focus(); } }); $(".slidesjs-play").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-stop").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-play")) { $(".slidesjs-stop").focus(); } } }); $(".slidesjs-stop").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-play").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-stop")) { $(".slidesjs-play").focus(); } } }); $(".slidesjs-pagination-item").keydown(function(e){ switch (e.which){ case 37: //left arrow key $(".slidesjs-previous.slidesjs-navigation").trigger('click'); e.preventDefault(); break; case 39: //right arrow key $(".slidesjs-next.slidesjs-navigation").trigger('click'); e.preventDefault(); break; default: return; } $(".slidesjs-pagination-item button.active").focus(); }); }); // Start This code is added by iTalent as part of iTrack 1859082 $(document).ready(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); $("#tip2").attr("aria-hidden","true").addClass("hidden"); $(".slidesjs-stop.slidesjs-navigation, .slidesjs-play.slidesjs-navigation").attr('title', ''); $("a#playtitle").focus(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").mouseover(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").blur(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#playtitle").mouseleave(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#play").keydown(function(ev){ if (ev.which ==27) { $("#tip1").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); $("a#stoptitle").focus(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").mouseover(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").blur(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").mouseleave(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").keydown(function(ev){ if (ev.which ==27) { $("#tip2").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); }); // End This code is added by iTalent as part of iTrack 1859082
Top Solution Authors
Top Kudoed Authors