Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello everyone,
I'm trying to load PDF files from my SharePoint List. They are attachments in this SP list (each SP list item has one attachment). I can assemble their URLs by using their filename and ID (I have filename and ID columns, ID is generated by SP list automatically when item be created).
The URL column I build is:
"https://xxx.sharepoint.com/sites/mySiteName/Lists/myListName/Attachments/" & [ID] & "/" &[FileName]
Then using the URL column to load PDF
I can run this logic in Power BI Desktop, but I can't refresh the dataset in service, error is:
This dataset includes a dynamic data source. Since dynamic data sources aren't refreshed in the Power BI service, this dataset won't be refreshed. Learn more: https://aka.ms/dynamic-data-sources.
I see there are some successful cases for using RelativePath and Query parameters in Web.Contents function. But I didn't get how to translate my URL to that format.
I tried to change my code as below and run it in dataflow:
Then dataflow keep asking me to configure connection, and it never succussed, even though my credential enter correctly.
Could anyone please help me solve this issue? I'm good with either run it in Power BI or Dataflow, as long as I can refresh it in service.
Thank you in advance and happy holidays!
K
Hi @KX2023 ,
Based on my understanding, this issue occurs because Power BI Service / Fabric does not support dynamically generated URLs inside Web.Contents during refresh. While the same logic works in Power BI Desktop, the Service requires the data source to be statically defined so it can be validated at refresh time, which is why dynamic, row byrow URL construction fails.
A more reliable way to handle this is to avoid Web.Contents with dynamic URLs completely and instead use a Service-supported SharePoint connector. Connecting through SharePoint Folder or SharePoint Online List allows you to access the document library or list directly, including PDF files and attachments, without manually building URLs. You can then filter to the required files and apply transformations after the connection step, keeping the source static and refreshable.
This approach explains why the behaviour differs between Desktop and Service, aligns with Power BI/Fabric refresh and security rules, and still meets the requirement of loading SharePoint-hosted PDFs. The only cases where this wouldn’t fully apply are scenarios that depend on truly external or dynamic URLs, which would require staging or automation outside Power BI.
Thank you.
Hi @v-tejrama
Thank you for your reply!
My sharepoint list items are uploaded via Power Automate, the attachment is one column of that SP list. My Power BI need to load all PDF attachments from this SP list and I don't see and direct way to load them.
The way I'm currently using is: manually build their URL for each row, then using Web.Contents to connect them, and then using 'Expend' function to get PDF data.
I also tried to create an URL column in SharePoint list, that's a calculated column in my SharePoint List. So that I don't need to assemble URL in Power BI. However, it gives me same error, refresh failed 'Since dynamic data sources aren't refreshed in the Power BI service'
Please feel free to suggest if you have any better idea to achieve it.
Thank you so much!
Hi @KX2023 ,
The behavior you are experiencing in Power BI and Fabric is expected and not unique to your tenant or configuration. The main issue is the use of Web.Contents with a dynamic URL, even if the URL originates from a SharePoint list or table. While this setup works in Power BI Desktop, the service requires all data sources to be clearly identified and authorized before a refresh can begin, and dynamic URLs prevent this validation. As a result, the service blocks refreshes that depend on row-by-row evaluation of Web. Contents, which is why local refreshes succeed but errors occur after publishing.
To address this, use a static connector such as SharePoint Online List or SharePoint Folder, which the service can recognize and support for scheduled refreshes. If you need to perform web calls on a per-row basis, this process should be handled outside of Power BI, such as by preparing the data externally and then importing it from a static source. This is a platform limitation and restructuring your data access approach is necessary to ensure consistent refreshes in the service.
Thank you,
Tejaswi.
Hi @KX2023 ,
I wanted to follow up and see if you had a chance to review the information shared. If you have any further questions or need additional assistance, feel free to reach out.
Thank you.
Hi @KX2023 ,
I wanted to follow up and see if you had a chance to review the information shared. If you have any further questions or need additional assistance, feel free to reach out.
Thank you.
Hi @KX2023,
As the error message says, dynamic data sources are not supported in Fabric/Power BI Service.
I recommend using the Sharepoint Online List and Sharepoint Folder connection types to bring sharepoint data into Power BI.
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 56 | |
| 55 | |
| 31 | |
| 18 | |
| 14 |