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

A new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.

Reply
Junaid11
Helper V
Helper V

Power Query Performance Issue

Hello,

I am facing a performance issue in Power Query. I have a function that calls a web API. The result of this call feeds the column of an Excel file. Here is my final query M: let Source = Excel.Workbook(File.Contents("C:Routes.xlsx"), null, true), BIC_Context_Sheet = Source{[Item="BIC_Context",Kind="Sheet"]}[Data], #"Changed Type" = Table.TransformColumnTypes(BIC_Context_Sheet,{{"Column1", type text}}), #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]), #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"BIC_Context", type text}}), #"Removed Top Rows" = Table.Skip(#"Changed Type1",123), #"Invoked Custom Function" = Table.AddColumn(#"Removed Top Rows", "BIC_Context_q", each BIC_Context_q([BIC_Context])) in #"Invoked Custom Function"

The query is working fine But I have great difficulties of slowness on the volumetry. I have about 200 API calls to make. And it takes me several hours Is there a way to improve processing times? Any alternative to this call? This is the one that takes a lot of time #"Invoked Custom Function" = Table.AddColumn(#"Removed Top Rows", "BIC_Context_q", each BIC_Context_q([BIC_Context])) Because I'm calling this API about 200 times

Kindly Help.

Thank you

1 ACCEPTED SOLUTION
Daryl-Lynch-Bzy
Community Champion
Community Champion

Hi @Junaid11, I am not sure I understand your explanation of the problem.  Which of the following is correct:

 

  1. Power Query calls an API to get and process an Excel file, one by one.  (get, open & process x 200)
  2. Power Query calls an API to get all Excel files, then opens the file and process one by one (get x 200, open & process X 200)
  3. Power Query calls an API to get all Excel files, then opens all the files, and process all of them (get x 200, open x 200, process X 1)

The challenge with Power Query is the order of execution when performing the first can be slow.  Especially the first because it could run the API 400 time not 200 times.  Consider this  Why does Power BI query my data source more than once .

 

I need to consider strategies to call the API and then process the data once.  Try considering the following:

  1. Export the API data to SharePoint Online Library then read from the Library - this separates the external API call delay from Power Query process.  Use Power Automate to call the external API.
  2. Use a Dataflow to open the Excel files into single table before processing the transformations
  3. Use Incremental Refresh to avoid reloading the same API more that once

View solution in original post

1 REPLY 1
Daryl-Lynch-Bzy
Community Champion
Community Champion

Hi @Junaid11, I am not sure I understand your explanation of the problem.  Which of the following is correct:

 

  1. Power Query calls an API to get and process an Excel file, one by one.  (get, open & process x 200)
  2. Power Query calls an API to get all Excel files, then opens the file and process one by one (get x 200, open & process X 200)
  3. Power Query calls an API to get all Excel files, then opens all the files, and process all of them (get x 200, open x 200, process X 1)

The challenge with Power Query is the order of execution when performing the first can be slow.  Especially the first because it could run the API 400 time not 200 times.  Consider this  Why does Power BI query my data source more than once .

 

I need to consider strategies to call the API and then process the data once.  Try considering the following:

  1. Export the API data to SharePoint Online Library then read from the Library - this separates the external API call delay from Power Query process.  Use Power Automate to call the external API.
  2. Use a Dataflow to open the Excel files into single table before processing the transformations
  3. Use Incremental Refresh to avoid reloading the same API more that once

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

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.

Top Solution Authors