Forum Discussion
Retrieve attachment from SharePoint online list
- 8 years ago
I'm not sure what you mean. If I use that link format, I can get to any attached picture in SharePoint in my browser. Not sure what you are trying to achieve or how you are trying to access it. If you have the SharePoint as a trusted site, you can use URL's in that format to add images to your Power BI Desktop report. Can you explain your use case?
- 8 years ago
I tried few ways to do that. Best way is to have a llink and it works as you told. Thank you Greg_Deckler
- 8 years ago
I know this is marked as solved, but was one of the first hits on google and did not fit my use case.
I wanted to add a link to an excel file that was attached to a sharepoint list item.
1. Open the Query Editor and find the column named AttachmentFiles
2.Expand the table with the double arrow and select ServerRelativeURL. This will give you a new column called AttachmentFiles.ServerRelativeURL
3. Add a custom column to concat your Sharepoint URL and the Path like this ="https://mysite.sharepoint.com" & [AttachmentFiles.ServerRelativeUrl]
4. Save and close the Query Editor
5. In the data table view, select the custom column you created and in the modeling tab select Data Category:Web URL
6. Add the custom column to your table visual and in formatting/values select URL Icon true to keep tidy.
I tried few ways to do that. Best way is to have a llink and it works as you told. Thank you Greg_Deckler
I know this is marked as solved, but was one of the first hits on google and did not fit my use case.
I wanted to add a link to an excel file that was attached to a sharepoint list item.
1. Open the Query Editor and find the column named AttachmentFiles
2.Expand the table with the double arrow and select ServerRelativeURL. This will give you a new column called AttachmentFiles.ServerRelativeURL
3. Add a custom column to concat your Sharepoint URL and the Path like this ="https://mysite.sharepoint.com" & [AttachmentFiles.ServerRelativeUrl]
4. Save and close the Query Editor
5. In the data table view, select the custom column you created and in the modeling tab select Data Category:Web URL
6. Add the custom column to your table visual and in formatting/values select URL Icon true to keep tidy.
- lidderdj8 years agoFrequent Visitor
Hi,
I'm currently using this solution and it looks great. However, since explanding the table and extracting the link the list item, the Power BI file it increadibly slow to update from the server. When I click "Close and Apply" to exit the query editor, the Apply Query Changes window appears but the data download rate is in the order of 1mb/min. For refernce, it is usually ~100 mb/min.
Do you have any suggestions on what might be causing this behaviour?
Thanks in advance,Daniel
- LisaChai126 years agoFrequent Visitor
Hi Mallev,
I would like to display image from sharepoint attachment in Power Bi. I tried your method. i don't understand the last step.
6. Add the custom column to your table visual and in formatting/values select URL Icon true to keep tidy.
Could you tell me where to select URL Icon true?
if I change to data category to imageURL, it will show broken files.
i hope your method can solve my problem.
Thank you.
Lisa
- Anonymous4 years agoNot applicable
Hi,
Sorry I realise this is an ancient post but I've looked everywhere for the "Attachmentfiles" column and I can't seem to find it. All I have is a column called "Attachments" when viewed in SP it displays the paper clip and if you click on the list items the attachments are there.
however in powerbi it just shows a number 1 (not even reflective of the actual number of attachments) and it is not expandable.
Any help would be appreciated.
- Anonymous4 years agoNot applicable
This works fine for me BUT I have more than one attachment in each row within my SharePoint list. Therefore I get more than one row with duplicated information showing the second/third/forth attacdhments. Is there a way to combine this so that the attachments are on one row?
Thanks in advance!! (",)
- mudegowdrp8 years agoHelper II
Thank you Mallev
- Anonymous7 years agoNot applicable
Hi,
I would like to display images which are stored in sharepoint as attachments. I am able to retrieve the URL, but when I use an image visualisation, I get a "broken image" icon.
However, if the user is already logged into sharepoint, then the images appear.
How can i get the images to appear without forcing the user to log onto sharepoint (before they run the report)?
I have tried formatting the URL as an image type, this does not work.
Has anyone done this?
- lpetty4216 years agoAdvocate I
Mallev, Awesommmmme solution!!!!!!! Thanks so much for sharing this truly outstanding solution!!!! Now I can access the data and the attachments all from within Power BI!
- MH33 years agoHelper V
Hi LisaChai12
I used Mr Mallev method but I am getting on Link icons not the images. - German_Chris3 years agoNew Member
Anonymous
You have to use the "Implementation 1.0" for your connection, than the "AttachmentFiles" will be shown. - hcardoso3 years agoNew Member
I cannot expand the Attachment Files colunm. It says no colunms to show instead of showing the attachment related colunms to select. Any ideas?
- MuhamadIlhamsya2 years agoFrequent Visitor
I Also had the same problem here, whenever i use the serverrelativeurl table for attachment it would slow down the query load like only 30Kb/s
is there anyone had a trick to solve this??
- guiguineitor1 year agoRegular Visitor
I did this change SiteUrl and listname
let
baseurl = "https://powersul.sharepoint.com/sites/SiteUrl/_api/web/lists/GetByTitle('listname')/",
itemcount = Json.Document(Web.Contents(baseurl & "ItemCount", [Headers=[Accept="application/json"]]))[value],
skiplist = List.Numbers(0, Number.RoundUp(itemcount/5000), 5000),
#"Converted to Table" = Table.FromList(skiplist, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Skip"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Skip", type text}}),
// Adicionando o endpoint para buscar a lista com os anexos
fieldselect = "&$top=5000&$expand=AttachmentFiles",Custom1 = Table.AddColumn(#"Changed Type", "Items", each Json.Document(Web.Contents(
baseurl & "/items?$skipToken=Paged=TRUE%26p_ID=" & [Skip] & fieldselect,
[Headers=[Accept="application/json"]]
))),
#"Expanded Items" = Table.ExpandRecordColumn(Custom1, "Items", {"value"}, {"value"}),
#"Expanded value" = Table.ExpandListColumn(#"Expanded Items", "value"),
// Expandir os metadados normais
#"value Expandido" = Table.ExpandRecordColumn(#"Expanded value", "value", {
"Id", "Title", "Attachments", "AttachmentFiles"
}, {
"Id", "Title", "HasAttachments", "AttachmentFiles"
}),// Expandir a coluna AttachmentFiles para obter os detalhes dos anexos
#"Expanded AttachmentFiles" = Table.ExpandListColumn(#"value Expandido", "AttachmentFiles"),
#"Final Expand" = Table.ExpandRecordColumn(#"Expanded AttachmentFiles", "AttachmentFiles", {
"FileName", "ServerRelativeUrl"
}, {
"FileName", "AttachmentUrl"
})
in
#"Final Expand"