This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Am trying to pull data from ADO Testpoints OData which is created in Dataflow. same query works fine in PowerBI Desktop
Error
Error: Data Source Error : DataSource.Error: OData: Request failed: The remote server returned an error: (500) Internal Server Error. (Internal Server Error): MashupValueException. RootActivityId = dc0f8136-0924-467d-a31b-88b38a41216b.Param1 = DataSource.Error: OData: Request failed: The remote server returned an error: (500) Internal Server Error. (Internal Server Error): MashupValueException Request ID: dbec3c04-90a8-4039-59d8-a7e3a71ee537.
Solved! Go to Solution.
Hi @sravs2007
Yes, staging OData data into a database and connecting Power BI to the DB is a recommended best practice. It avoids OData service limitation and typically results in more stable refresh and better performance.
Reference : https://learn.microsoft.com/en-us/power-query/connectors/odata-feed
Hope this helps!!
Thank You.
The key clue here is that your query works in Power BI Desktop but fails in a Dataflow, returning a 500 Internal Server Error from the OData endpoint. This is actually a common scenario with Azure DevOps (ADO) OData feeds because Power BI Dataflows run in the Power Query Online (cloud) environment, which has stricter limitations than Power BI Desktop. Let me break this down and guide you on what’s likely happening.
Power BI Desktop:
Runs queries locally.
Can handle larger payloads.
Supports $expand, complex $select, and nested queries more liberally.
Power BI Dataflow (Power Query Online):
Runs in the cloud (Power Query Online engine).
Limited memory and timeout restrictions.
Some OData query constructs, especially complex $expand or multiple nested $select fields, often fail in cloud, even if they work locally.
So a query like yours:
…works in Desktop but may be too complex for Dataflow. Also, notice the TitleLevel2 appears twice in your $select, which may cause cloud parsing issues.
Too many fields in $select or $expand
Power Query Online has stricter limits on query length.
Nested $expand queries
Example: Tester($select=UserName)
Can sometimes break in Dataflows even though Desktop handles it.
Preview OData endpoints (v3.0-preview)
Some preview endpoints return 500 in cloud due to unsupported operations.
Duplicate fields or syntax issues
$select=..., TitleLevel2, TitleLevel2,...
Desktop may ignore duplicates; cloud often fails.
Start with a minimal query to confirm connectivity:
If this works, gradually add fields back one by one. This will reveal the field(s) causing the cloud engine to choke.
Instead of:
Try pulling the related table separately and merging in Power Query Online. For example:
Load TestPoints without Tester.
Load Testers table separately (/Testers endpoint).
Merge in Power Query Online using UserId.
You have TitleLevel2 twice. Make it unique:
ADO OData v3.0-preview works fine in Desktop, but sometimes Dataflows handle Implementation="2.0" (OData v4) better. Try changing:
to
Sometimes cloud fails due to large payload. Add $top=10:
If this works, the problem is likely a timeout or cloud memory limit.
If you want, I can rewrite your exact query so it works in Power BI Dataflow while keeping all the fields you need, avoiding nested $select and duplicate fields. This usually fixes the 500 error.
Thank you, @Aaliyan123, for the detailed explanation on Desktop and Dataflows. I’ll work on adjusting the query based on your suggestions and revalidate.
I do have one clarification: my dashboard is taking a long time to refresh because it’s pulling a large number of WorkItems and WorkItemLinks across multiple projects. What would be the best approach for bringing data from ADO into Power BI in this case? Since Dataflows require constructing queries with certain limits, Analytics Views can’t be used for WorkItem links, I can pull the required data in Desktop with OData, but the refresh performance is slow.
Dataflow while keeping all the fields you need, avoiding nested $select fields. This usually fixes the 500 error.
Rather than pulling all columns, am filterning minimal columns at source, is it no correct way
Hi @sravs2007
Filtering only the required columns at the source is the right approach and it is a Power BI best practice.
The suggestion to avoid nested $select fields is not asking you to load all columns, but to simplify the query structure that Power BI generates. In some cases, Power BI folds multiple steps into a complex OData query and certain OData services fail with a 500 error when handling nested $select, $expand, or combined query options.
ower BI folds multiple steps into a complex OData query and certain OData services fail with a 500 error when handling nested $select, $expand, or combined query options. how to avoid this..
Hi @sravs2007
Power BI may fold multiple Power Query steps into a single, complex OData request. Some OData services don’t fully support advanced or nested query options (such as combined $select, $expand, $filter, etc.), which can result in a 500 Internal Server Error.
Best Practices to Avoid OData 500 Errors in Power BI:
Hope this helps!!
Thank You.
Hi @sravs2007
Following up to confirm if the earlier responses addressed your query. If not, please share your questions and we’ll assist further.
How about DB storage, load data into DB and then Connect DB .. will this approach work
Hi @sravs2007
Yes, staging OData data into a database and connecting Power BI to the DB is a recommended best practice. It avoids OData service limitation and typically results in more stable refresh and better performance.
Reference : https://learn.microsoft.com/en-us/power-query/connectors/odata-feed
Hope this helps!!
Thank You.
Hi @sravs2007
Have you had a chance to look through the responses shared earlier? If anything is still unclear, we’ll be happy to provide additional support.
Hi @sravs2007
Thanks for raising this query in Microsoft Fabric Community Forum.
A 500 (Internal Server Error) from an OData source means the service failed to process the request. This is usually caused by a temporary service issue, an invalid/unsupported query, or limitations on the source side when Power BI pushes down the query.
Reference : Troubleshoot refresh scenarios - Power BI | Microsoft Learn
Hope this helps !!
Thank You.
when i tried to pull data of Test suites didn't find this issue. this error is coming only for WorkItems and testpooints
Hi @sravs2007,
as of the documentation (Access Analytics data from Power BI Desktop - Azure DevOps | Microsoft Learn) this should work.
Some things you can check:
- do you have proper rights in the ADO org/project?
- check the endpoint schema from the docs. The URL in your code snipped seems to be of what the docs say
- authenticate with your organizational account
- go to a lower version of the endpoint (e.g. V1.0) and check again (this version at least works on my end)
Hope this helps!
Best regards!
PS: If you find this post helpful consider leaving kudos or mark it as solution
am having an acess to this project and anlytics is enabled ... when i hit the url in browser i can see response
desk top am getting data, but in dataflow throwing an error
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.