Forum Discussion
SharePoint Lists PBI/Power Query error, implementation 2.0, "RenderListAsDataStream".
Hi all,
I'm having an issue connecting a SharePoint List to Power BI desktop, specifically the error :
Web.Contents failed to get contents from
'https://mysite.sharepoint.com/sites/sharepointlocation/_api/Web/Lists(guid'08ad572f-934f-4e16-825f aafb86fe91b1')/RenderListDataAsStream' (500): Internal Server Error
This is an existing PBI file, and previously had no issues connecting. The error occurs when I try using implementation 2.0 (both all, and default view), and in Power Query fails at the navigation step.
I have many files/dashboards/queries based on the 2.0 default view. Due to lookup columns (only 2 in the List), and expanded multiple choice columns, connecting via implementation 1.0 and rebuilding is a nightmare.
The SharePoint list has two lookup columns, around 10,000 entries (neither of these caused an issue previously), and many many multiple choice/multi select fields (I didn't create it, I've been handed over this headache).
The only recent change I've made is making one column single select to multi select.
Solutions I've tried:
- Logging in/out of my organisational account in PBI, clearing all permissions in data source settings, logging in/out of my Microsoft account on the PC, clearing all permissions in my Microsoft account on PC. (This is an organisational account with painful authentication steps that I've had issues with before).
- Changing to API version 14 & 15 (loads, but not default view, issues with lookup columns and multi choice fields)
- Changing to implementation 1.0 (loads, same issue as above).
- Connecting in a blank PBI document (does not load, same error message).
- Connecting in Excel (works with default view at implementation 2.0 with no issues)
- Connecting the default view (implementation 2.0) with excel, copying over my M code from PBI and using those queries as my PBI data source (loads, but multiple errors in applied steps that relate to the multi choice and lookup columns. Also not a good long term solution.)
- Reverting my recent change, the multi choice column back to single select (does not load, same error message).
These connections were working fine a few weeks ago, and I can't work out what could have changed (aside from changing that multi choice column).
Please tell me there's another way that doesn't involve me building all my dashboards from scratch!
Darren164
This is happening because you are exceeding rows limits from 5,000 to 10,000, the lookup activity selected multiple columns and it brokes the sharepoint list limitation.
If you change the API default to specific API=15 in power query editor. It will surely resolve the issue.Please follow below steps one by one.-
The root cause is a SharePoint server timeout. Switching your list column to multi-select added complex data processing. Combined with 10,000 rows and lookup columns, it broke SharePoint's internal limit (5,000 items) and caused the
500server error. -
Fix it fast in Power Query. Open the Advanced Editor in Power BI and update your source step to use
ApiVersion=15instead of default. This bypasses the brokenRenderListDataAsStreamfunction while keeping your existing setup intact. -
Create a lightweight SharePoint view. Go to your SharePoint list in the browser and create a new view that removes non-essential multi-select and lookup columns. Then point Power BI to load that specific view.
-
Add column indexes in SharePoint. In SharePoint List Settings, go to Indexed Columns and add indexes for your 2 lookup columns, the multi-select column, and
ID. This stops SharePoint from timing out when reading the rows. -
Move the query to a Dataflow for a permanent fix. Set up a Power BI Dataflow in the cloud to pull the SharePoint list, then connect your desktop report to that Dataflow. Cloud servers handle large SharePoint lists much better and prevent future refresh errors.
If this helps, please kudos and accept this as solution, help others !
-
Darren164 Before you spend an afternoon indexing columns, I'd push back on the row-count explanation, because two things in your own post argue against it.
You've had around 10,000 entries in that list for a while and it connected fine. And right now, today, Excel reads the same list, the same default view, at implementation 2.0, with no issues. A 5,000-item view threshold doesn't care which client is asking. It's evaluated server side, on the query. If the row count were tipping this over, Excel would be getting the 500 too. It isn't. So the row count is the environment, not the cause.
What that pair of facts actually tells you is more useful: the two clients are not asking SharePoint for the same thing. Same list, same view, different connector build, different request, and one of those requests is the one SharePoint can't serve. That reframes the problem from "my list is too big" to "something about the field set the PBI connector is requesting", which is a much smaller thing to chase.
Your own ApiVersion=15 result points the same way and I don't think you gave it enough credit. You wrote it off as "loads, but not default view, issues with lookup columns and multi choice fields". That's not a failed workaround, that's the answer narrowing itself. It loads when the field set changes. The problem is travelling with the columns, not the rows.
On which limit: the one that fits a list with lookup columns and a pile of multi-select fields is the column-type one rather than the item one. Microsoft's list view threshold guidance puts it as "Displaying 12 or more columns of the following types can cause a list view threshold error: people, lookup, and managed metadata." I'd be straight with you though. A multi-select Choice column, which is the thing you actually changed, is not on that list. So I'd treat that as the limit to test rather than as your diagnosis. It fits the shape of your list; it doesn't obviously fit your trigger.
The test is free and it's about ten minutes. In SharePoint, build a brand new view containing only the handful of columns you genuinely need, with no lookup, no person and no multi-select columns in it at all, and point implementation 2.0 at that view specifically. If it loads, you've confirmed the field set is the cause, and then you add columns back a few at a time until it breaks. That tells you whether it's a count you're crossing or one specific column doing it. If it still 500s on a stripped view, the field set is exonerated and I'd stop looking there entirely. Either way you learn something, which is more than the current situation offers.
The bit I genuinely can't explain from here is that reverting the multi-select back to single select didn't fix it. If that revert really did restore the previous state, then that column was the straw rather than the cause, and something else moved at the same time. Was anything else changed on that list around then? A new column, a changed default view, a retention or sync setting, anything by someone else on the team?
Hi Darren164,
I would probably push back a bit on the row-count explanation.
Microsoft documents two different SharePoint limits that often get mixed together:
- the general List View Threshold for large lists, which is around 5,000 items
- the lookup threshold, where showing 12 or more columns of type people, lookup, or managed metadata can trigger threshold errors
Because your list was working before and the breaking change was around field structure rather than row count, this feels more like a column/query-shape issue than a pure “too many rows” issue.
For the SharePoint connector, Microsoft does support both:
- Implementation = "2.0"
- ApiVersion = 14, 15, or Auto
but I would not assume that moving to API 15 by itself fixes this.
What I would try next is:
- Create a new very small SharePoint view with only a handful of columns, ideally ID plus the core non-problem fields.
- Make that the default view temporarily.
- Connect with Implementation 2.0 using the default view.
- If that loads, add the lookup / people / managed metadata / multi-value columns back a few at a time until the failing field or combination shows up.
- Once identified, keep that field out of the direct SharePoint pull if possible, or split the logic so the heavy/complex columns are handled separately.
The reason I’d test it this way is that Microsoft’s Implementation 2.0 connector supports a Default view mode, so reducing the columns returned by SharePoint is a legitimate troubleshooting step, not just a workaround.
If the minimal default view still fails in Power BI Desktop but works in Excel with the same site and connector version, then I’d start suspecting a product regression and open a Microsoft support ticket with the correlation ID / request ID from the error, because at that point the difference is no longer just list design.
Thank you so much! I kid you not, the solution was to remove the 'count' function set on a column in the default view. Apparently someone in my team added that when viewing the List, and that was the straw. With that count function removed, I can connect to 2.0 default view with no issues.
Absolutely wild that something so small could cause so much drama.
5 Replies
- Murtaza_GhafoorSuper User
Darren164
This is happening because you are exceeding rows limits from 5,000 to 10,000, the lookup activity selected multiple columns and it brokes the sharepoint list limitation.
If you change the API default to specific API=15 in power query editor. It will surely resolve the issue.Please follow below steps one by one.-
The root cause is a SharePoint server timeout. Switching your list column to multi-select added complex data processing. Combined with 10,000 rows and lookup columns, it broke SharePoint's internal limit (5,000 items) and caused the
500server error. -
Fix it fast in Power Query. Open the Advanced Editor in Power BI and update your source step to use
ApiVersion=15instead of default. This bypasses the brokenRenderListDataAsStreamfunction while keeping your existing setup intact. -
Create a lightweight SharePoint view. Go to your SharePoint list in the browser and create a new view that removes non-essential multi-select and lookup columns. Then point Power BI to load that specific view.
-
Add column indexes in SharePoint. In SharePoint List Settings, go to Indexed Columns and add indexes for your 2 lookup columns, the multi-select column, and
ID. This stops SharePoint from timing out when reading the rows. -
Move the query to a Dataflow for a permanent fix. Set up a Power BI Dataflow in the cloud to pull the SharePoint list, then connect your desktop report to that Dataflow. Cloud servers handle large SharePoint lists much better and prevent future refresh errors.
If this helps, please kudos and accept this as solution, help others !
- Darren164New Member
Thank you so much! I kid you not, the solution was to remove the 'count' function set on a column in the default view of Lists. Apparently someone in my team added that when viewing the List, and that was the straw. With that count function removed, I can connect to 2.0 default view with no issues.
Absolutely wild that something so small could cause so much drama.
-
- PauReisResolver II
Darren164 Before you spend an afternoon indexing columns, I'd push back on the row-count explanation, because two things in your own post argue against it.
You've had around 10,000 entries in that list for a while and it connected fine. And right now, today, Excel reads the same list, the same default view, at implementation 2.0, with no issues. A 5,000-item view threshold doesn't care which client is asking. It's evaluated server side, on the query. If the row count were tipping this over, Excel would be getting the 500 too. It isn't. So the row count is the environment, not the cause.
What that pair of facts actually tells you is more useful: the two clients are not asking SharePoint for the same thing. Same list, same view, different connector build, different request, and one of those requests is the one SharePoint can't serve. That reframes the problem from "my list is too big" to "something about the field set the PBI connector is requesting", which is a much smaller thing to chase.
Your own ApiVersion=15 result points the same way and I don't think you gave it enough credit. You wrote it off as "loads, but not default view, issues with lookup columns and multi choice fields". That's not a failed workaround, that's the answer narrowing itself. It loads when the field set changes. The problem is travelling with the columns, not the rows.
On which limit: the one that fits a list with lookup columns and a pile of multi-select fields is the column-type one rather than the item one. Microsoft's list view threshold guidance puts it as "Displaying 12 or more columns of the following types can cause a list view threshold error: people, lookup, and managed metadata." I'd be straight with you though. A multi-select Choice column, which is the thing you actually changed, is not on that list. So I'd treat that as the limit to test rather than as your diagnosis. It fits the shape of your list; it doesn't obviously fit your trigger.
The test is free and it's about ten minutes. In SharePoint, build a brand new view containing only the handful of columns you genuinely need, with no lookup, no person and no multi-select columns in it at all, and point implementation 2.0 at that view specifically. If it loads, you've confirmed the field set is the cause, and then you add columns back a few at a time until it breaks. That tells you whether it's a count you're crossing or one specific column doing it. If it still 500s on a stripped view, the field set is exonerated and I'd stop looking there entirely. Either way you learn something, which is more than the current situation offers.
The bit I genuinely can't explain from here is that reverting the multi-select back to single select didn't fix it. If that revert really did restore the previous state, then that column was the straw rather than the cause, and something else moved at the same time. Was anything else changed on that list around then? A new column, a changed default view, a retention or sync setting, anything by someone else on the team?
- ShivekMaharajImpactful Individual
Hi Darren164,
I would probably push back a bit on the row-count explanation.
Microsoft documents two different SharePoint limits that often get mixed together:
- the general List View Threshold for large lists, which is around 5,000 items
- the lookup threshold, where showing 12 or more columns of type people, lookup, or managed metadata can trigger threshold errors
Because your list was working before and the breaking change was around field structure rather than row count, this feels more like a column/query-shape issue than a pure “too many rows” issue.
For the SharePoint connector, Microsoft does support both:
- Implementation = "2.0"
- ApiVersion = 14, 15, or Auto
but I would not assume that moving to API 15 by itself fixes this.
What I would try next is:
- Create a new very small SharePoint view with only a handful of columns, ideally ID plus the core non-problem fields.
- Make that the default view temporarily.
- Connect with Implementation 2.0 using the default view.
- If that loads, add the lookup / people / managed metadata / multi-value columns back a few at a time until the failing field or combination shows up.
- Once identified, keep that field out of the direct SharePoint pull if possible, or split the logic so the heavy/complex columns are handled separately.
The reason I’d test it this way is that Microsoft’s Implementation 2.0 connector supports a Default view mode, so reducing the columns returned by SharePoint is a legitimate troubleshooting step, not just a workaround.
If the minimal default view still fails in Power BI Desktop but works in Excel with the same site and connector version, then I’d start suspecting a product regression and open a Microsoft support ticket with the correlation ID / request ID from the error, because at that point the difference is no longer just list design.
- Darren164New Member
Thank you so much! I kid you not, the solution was to remove the 'count' function set on a column in the default view. Apparently someone in my team added that when viewing the List, and that was the straw. With that count function removed, I can connect to 2.0 default view with no issues.
Absolutely wild that something so small could cause so much drama.