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
francl_lunch
New Member

Power Automate refresh data connection et TCD on Excel file

Hi, I have excel files that contain pivot tables. They are connected to a powerbi sementic model.
I use Power Automate online and office scripts to update all of this, as well as refresh calculations.
The problem: I sometimes get either an error return or a successful execution but with data not properly updated. At first I thought it was due to the requested volume when I looked at the observation files: Office scripts work fine locally and online, but they don't work well with Power Automate.
Which microssoft online solutions do you suggest?
How with Microssoft Graph?

5 REPLIES 5
Shruti_D
Community Support
Community Support

Hi @francl_lunch ,

Apart from the troubleshooting options correctly suggested by @andrewsommer 

You might want to troubleshoot the error that you are getting. It might be because the TCD is not used properly?

Here are the 4 fundamental rules for properly using a pivot table

1.Never in a TCD should you have data already aggregated.
2.Data must be granular.
3.No line of your data should be empty
4.All column headers must be populated with a unique name

Reference-  https://www.excel-exercice.com/en/rules-for-constructing-a-pivot-table/

Regarding Power Automate online:

Refresh is not fully supported in Power Automate
Office Scripts can't refresh most data when run in Power Automate.
Most refresh methods, such as PivotTable.refresh, do nothing when called in a flow.
Additionally, Power Automate doesn't trigger a data refresh for formulas that use workbook links.

You can check

1. Azure Logic Apps-Logic Apps might provide better flexibility, especially for scenarios where you need advanced integrations

Azure Logic Apps

2. Graph API with Power Automate- You can automate the refresh of Power BI datasets by calling specific Graph API endpoints, and this could be done through Power Automate as an HTTP request.

Follow these steps to learn how Graph API works with Power Automate-

https://sharepains.com/2023/01/03/microsoft-graph-api-the-power-platform

Hope this helps!

If this answers your question, please Accept it as a solution and give it a 'Kudos' so others can find it easily.
Thank you.

andrewsommer
Impactful Individual
Impactful Individual

Why this might be happening:

  1. Timing Issues: Office Scripts execute before the pivot table fully refreshes or the connection to the semantic model is re-established.
  2. Excel Online Limitations: Excel Online APIs are sandboxed and asynchronous. When scripts are run through Power Automate, they might hit throttling or not await dependent operations like pivot refreshes.
  3. Refresh Latency: The semantic model refresh or data load may not have completed before the script reads the results.
  4. Lack of Error Signaling: Office Scripts may return a “success” status even when operations fail silently, especially in web contexts.

 

The first solution I would try is adding a delay to your script.  Since this is asynchronous, you’ll want to add a timed delay or retry loop before accessing refreshed pivot data. Unfortunately, Office Scripts doesn't support setTimeout natively, so you need to build your own polling with context.sync() and time tracking.

 

Please mark this post as solution if it helps you. Appreciate Kudos.

i would like another solution without office script if possible.
I use catch error in my power automate flux but take huge and randm time. And i have a delay to finis this execution. I have starter's hour, and delay to publish.

The only other solution I would have is to use Power Automate Desktop but that would require premium licensing I believe.  

Thanks, but i want full online solution. Actualy, we use VBA to do that.

Helpful resources

Announcements
MarchFBCvideo - carousel

Fabric Monthly Update - March 2025

Check out the March 2025 Fabric update to learn about new features.

March2025 Carousel

Fabric Community Update - March 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