Forum Discussion
Display Dynamic Images from SharePoint List on Drill-through Page Based on Request ID
Body:
Hello Experts,
I have a scenario where I need help displaying images dynamically in Power BI.
Scenario
We have a Power BI App that allows users to upload images.
These images are stored in the backend SharePoint List as Image Library.
Power BI Desktop is connected to the SharePoint list, and we use this data to show multiple KPIs.
For each Request ID, a new image gets uploaded into the SharePoint list.
Requirement
I want to create a Drill-through page in Power BI where:
A user selects a Request ID from any visual.
The user drills through to a new page.
That page should display the image corresponding to that Request ID, which is stored in the SharePoint list.
What I have already tried
Added the image column from the SharePoint list into Power BI.
Tried using Image URL and Binary image formats.
The image is not appearing dynamically when using drill-through filtering.
Only the Request ID filter passes through, but the image does not render correctly.
Data Structure
SharePoint List columns:
Request ID
Image (SharePoint Image column)
Other metadata fields
Question
What is the best way to display these SharePoint-stored images dynamically on a Power BI Drill-through page, based on the Request ID?
Do I need to convert the image column to a URL?
Or is there any workaround/visual that supports SharePoint image binary fields?
Any guidance or example steps would be greatly appreciated.
Thank you!
The Power BI service has no way to get to your SharePoint Document library (nor should it).
Place your images on a public server or embed them in the semantic model.
Use the Request ID in the drill-through filter and an Image URL column from SharePoint; Power BI cannot drill on the binary image column itself.
1. Build an image URL column from the SharePoint Image field
In Power Query against the SharePoint list, create a custom column that concatenates the serverUrl and serverRelativeUrl from the Image JSON to a full HTTPS URL, then load that column into the model.
In Data view, select this column and set Data category = Image URL so the Image or Table visual can render it.2. Set up the drill-through page
Ensure both tables (core KPIs and SharePoint images) contain Request ID and have a relationship on it (or use a single table).
On the drill-through page, drag Request ID into Drill-through filters, then add an Image visual (or a table with the Image URL field).
Drop the Image URL field in the visual; when a user drills through on a Request ID, the drill-through filter will restrict the page to that Request ID and the corresponding image URL will display dynamically.
If your SharePoint site is secured, confirm the dataset’s credentials and gateway let the Power BI Service reach the list; otherwise images may appear as broken links even if the URL is correct.
hi Akshay_B
This is expected behavior in Power BI, and the issue is not with drill-through itself, but with how SharePoint Image columns are handled.
Power BI cannot dynamically render binary images (SharePoint Image field) based on drill-through filter context. Even though the Request ID is passed correctly, the image does not update because the image column is not a true image URL.
Why this happens
SharePoint Image columns are stored as complex JSON / binary metadata, not as a direct image link.
Power BI visuals only support dynamic images when the field is:A direct URL
Categorized as Image URL
Binary image fields do not respond to drill-through filtering.
Supported and recommended approach
1. Extract the image URL in Power Query
Expand the Image column and retrieve:serverUrl
serverRelativeUrl
Create a new column:
ImageURL = [serverUrl] & [serverRelativeUrl]
2. Set the Data Category
In Model view:Select the new column
Set Data Category = Image URL
This step is mandatory.
3. Validate the relationship
Ensure Request ID from your main table is related to Request ID in the SharePoint list.
Drill-through will then filter the correct row.4. Build the drill-through page
Add Request ID to the Drill-through filters pane
Use a Table or Matrix (native visuals work best)
Place the Image URL field in the visual
Once drilled through, Power BI will automatically display the image for that Request ID.
Key limitations to keep in mind
SharePoint binary image fields are not supported in Power BI visuals
Drill-through only works with URL-based images
If multiple images exist per Request ID, you’ll need to control which one to show (FIRST, MAX, etc.)
Summary
✔ Drill-through is working
✔ Request ID filter is passed
❌ Binary SharePoint images cannot be rendered✅ Use Image URLs categorized as Image URL
This is the only supported and reliable pattern today.Hope this helps clarify the limitation and the correct workaround.
6 Replies
- GrowthNatives
Super User
Hi Akshay_B , i understand you are having problem with displaying Dynamic Images from SharePoint List on Drill-through Page Based on Request ID
Steps:1. Extract a usable image URL from SharePoint
SharePoint "Image" columns don’t load directly into Power BI visuals.
In Power Query, expand the Image column and extract the field Url or serverRelativeUrl.If you get a relative path, build a full URL:
= "https://yourtenant.sharepoint.com" & [serverRelativeUrl]
Name this column ImageFullUrl.
2. Set the column as an Image URL
In the model:
Select ImageFullUrl
Data Category → Image URL
This tells Power BI to treat it as a picture source.[-
3. Build the drill-through page
Create a new page
Drag Request ID into the Drill-through field well
Add an Image visual
Set its field to ImageFullUrl
When users drill through using a Request ID, the page filters to that ID, and the image visual shows the corresponding image.
4. Common pitfalls
If the image shows in Desktop but not Service → dataset credentials or SharePoint permissions.
If nothing displays → URL is wrong (not a full https URL).
⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers.
💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving!
🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More] - Shubham_rai955
Super User
Use the Request ID in the drill-through filter and an Image URL column from SharePoint; Power BI cannot drill on the binary image column itself.
1. Build an image URL column from the SharePoint Image field
In Power Query against the SharePoint list, create a custom column that concatenates the serverUrl and serverRelativeUrl from the Image JSON to a full HTTPS URL, then load that column into the model.
In Data view, select this column and set Data category = Image URL so the Image or Table visual can render it.2. Set up the drill-through page
Ensure both tables (core KPIs and SharePoint images) contain Request ID and have a relationship on it (or use a single table).
On the drill-through page, drag Request ID into Drill-through filters, then add an Image visual (or a table with the Image URL field).
Drop the Image URL field in the visual; when a user drills through on a Request ID, the drill-through filter will restrict the page to that Request ID and the corresponding image URL will display dynamically.
If your SharePoint site is secured, confirm the dataset’s credentials and gateway let the Power BI Service reach the list; otherwise images may appear as broken links even if the URL is correct.
- SavioFerraz
Super User
hi Akshay_B
This is expected behavior in Power BI, and the issue is not with drill-through itself, but with how SharePoint Image columns are handled.
Power BI cannot dynamically render binary images (SharePoint Image field) based on drill-through filter context. Even though the Request ID is passed correctly, the image does not update because the image column is not a true image URL.
Why this happens
SharePoint Image columns are stored as complex JSON / binary metadata, not as a direct image link.
Power BI visuals only support dynamic images when the field is:A direct URL
Categorized as Image URL
Binary image fields do not respond to drill-through filtering.
Supported and recommended approach
1. Extract the image URL in Power Query
Expand the Image column and retrieve:serverUrl
serverRelativeUrl
Create a new column:
ImageURL = [serverUrl] & [serverRelativeUrl]
2. Set the Data Category
In Model view:Select the new column
Set Data Category = Image URL
This step is mandatory.
3. Validate the relationship
Ensure Request ID from your main table is related to Request ID in the SharePoint list.
Drill-through will then filter the correct row.4. Build the drill-through page
Add Request ID to the Drill-through filters pane
Use a Table or Matrix (native visuals work best)
Place the Image URL field in the visual
Once drilled through, Power BI will automatically display the image for that Request ID.
Key limitations to keep in mind
SharePoint binary image fields are not supported in Power BI visuals
Drill-through only works with URL-based images
If multiple images exist per Request ID, you’ll need to control which one to show (FIRST, MAX, etc.)
Summary
✔ Drill-through is working
✔ Request ID filter is passed
❌ Binary SharePoint images cannot be rendered✅ Use Image URLs categorized as Image URL
This is the only supported and reliable pattern today.Hope this helps clarify the limitation and the correct workaround.
- lbendlin
Super User
The Power BI service has no way to get to your SharePoint Document library (nor should it).
Place your images on a public server or embed them in the semantic model.
- AnonymousNot applicable
Hi Akshay_B
Thank you for reaching out to the Microsoft Fabric Forum Community.
SavioFerraz lbendlin Shubham_rai955 GrowthNatives Thanks for the inputs.
I hope the information provided by users was helpful. If you still have questions, please don't hesitate to reach out to the community.
- AnonymousNot applicable
Hi Akshay_B
Hope everything’s going smoothly on your end. I wanted to check if the issue got sorted. if you have any other issues please reach community.