Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
Hello
I'm relatively new to PBI and queries and trying to resolve an issue my org currently have with 429 errors on dataflows that are accessing multiple SharePoint lists as their source. The current set up is there is one dataflow with an entity for each of the 15 lists being accessed, that then feeds into secondary dataflows for data manipulation and formatting before being presented in reports.
Most of these lists currently have less than 1000 rows of data in them, with one containing 3500. On a regular basis we are receiving 429 errors for the list with 3500 rows on it. Unfortunately we are currently restricted to using SP lists as the primary datasource and was surprised we're hitting these issues on such a small volume of data. The dataflows are currently running four times a day with around 3 hours beteween each refresh.
To get around this I am currently looking into delaying the calls to the SP service to hopefully avoid the throttling issue. I've had a look at the various really helpful posts from Chris Webb for using the InvokeAfter function but am struggling to see how to integrate this with the SP table source.
I've tried the below but it doesn't seem to have impacted the refresh times so I assume the delay is only being applied at the table level and not per row. I imagine I'm probably inserting it at the wrong step or need to add an index/custom column to reference? I'm also quite restricted due to org policies in what I can do and ideally need to come up with a solution that can be achieved from within the query. If anyone could offer any advice on how this can be done or an alternative to avoid these errors it would be greatly appreciated.
Solved! Go to Solution.
The problem seems to be that each of your SP list calls are talking too long. Please see this article/video for how to get data from SharePoint Lists way faster.
Get Data From SharePoint Lists … But Fast – Hoosier BI
Also, how are you combining the 15 lists/queries? Hopefully, you are appending them and not merging (which can slow things down).
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Sigh.
Unfortunately, you are getting the 429 Too Many Requests because SharePoint feels you are making too many calls at one time and is throttling you. I've got an open ticket on this. The v2 of the SharePoint List connector will eventually correct this but it's currently missing data that I need for production reports.
If you can use the v2 Lists connector, try that.
Thanks!
--Treb
The problem seems to be that each of your SP list calls are talking too long. Please see this article/video for how to get data from SharePoint Lists way faster.
Get Data From SharePoint Lists … But Fast – Hoosier BI
Also, how are you combining the 15 lists/queries? Hopefully, you are appending them and not merging (which can slow things down).
Regards,
Pat
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Hi Pat
Thank you for the response. So the dataflow in question is not performing any sort of merge or append between the lists, that's being conducted in separate dataflows that are using the linked entities from this dataflow we're discussing. The dataflows completing the merge/appends and other similar steps are all set to refresh an hour later and are all averaging under five minutes for refresh times.
The dataflow with the 429 errors is simply set up with one entity connected to each SP list and most of them are refreshing relatively quickly. However the one connected to the SP list with 3500 records is taking 15-20 minutes (there is also a list with 2000+ records and this is taking 15 odd minutes too). The SP list in question consists of 40 fields of either single line of text, multiple line of text or choice formats.
Am I misunderstanding that the 429 error is due to too many requests to the SP service in a short space of time? If not, wouldn't I want to try and reduce the number by adding a delay rather than trying to make the requests faster?
I've also noticed that when using dataflows rather than PBI desktop there doesn't seem to be an option to select the connector version that pops up in your video. Do you know if there is a way to select the connector version in a dataflow and whether you can swap from v1 to v2 on an existing dataflow?
I tried the steps in your video and managed to get the data to appear in the query using the below, however when I try to save the dataflow I then get an error "Can't save dataflow. One or more tables reference a dynamic data source."
Thanks again!
Sigh.
Unfortunately, you are getting the 429 Too Many Requests because SharePoint feels you are making too many calls at one time and is throttling you. I've got an open ticket on this. The v2 of the SharePoint List connector will eventually correct this but it's currently missing data that I need for production reports.
If you can use the v2 Lists connector, try that.
Thanks!
--Treb
Check out the November 2023 Power BI update to learn about new features.