Forum Discussion
hyperlink column to open document from sharePoint library - issues with pdf viewers omitting
Hello,
I'm connecting my PBI report to read documents from SharePoint Doc_Library
To see properties like size, name and do some QA/QC reporting on library contents
By using File.ServerRelativeUrl with http web address - I created a column to open documents directly (like below)
Open doc = "https://yyyyyyyy.sharepoint.com/"&[File.ServerRelativeUrl] , changed the category to web URL and all is good after that !
I'm able to open all files in that document library
The only problem I have - is when pdf or word ...contains # tag in its name then URL won't open
it works for all other files/documents
only if the file name contains # then it produces the " Hmmm… can't reach this page" error and quote the full URL the file up to # character and omit # character and any string after it!
Any idea why is this?
Best Regards
Anis
- Anonymous2 years ago
Hi neees78 ,
In URLs, the hash symbol (#) is often used to indicate a fragment identifier that points to a specific part of a document. When a URL contains a #, the browser may interpret everything after the # as a fragment identifier rather than as part of the file name or path. This is why URLs for files with # in the name do not open correctly. See the documentation: Filter a report using query string parameters in the URL - Power BI | Microsoft Learn.
Therefore, URL encoding of the hash symbols is required, which can be done by replacing the "#" with "%23", i.e. the expression is modified to:Column = "https://yyyyyyyy.sharepoint.com/" & SUBSTITUTE([File.ServerRelativeUrl], "#", "%23")If your Current Period does not refer to this, please clarify in a follow-up reply.
Best Regards,
Clara Gong
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
8 Replies
- AnonymousNot applicable
Hi neees78 ,
In URLs, the hash symbol (#) is often used to indicate a fragment identifier that points to a specific part of a document. When a URL contains a #, the browser may interpret everything after the # as a fragment identifier rather than as part of the file name or path. This is why URLs for files with # in the name do not open correctly. See the documentation: Filter a report using query string parameters in the URL - Power BI | Microsoft Learn.
Therefore, URL encoding of the hash symbols is required, which can be done by replacing the "#" with "%23", i.e. the expression is modified to:Column = "https://yyyyyyyy.sharepoint.com/" & SUBSTITUTE([File.ServerRelativeUrl], "#", "%23")If your Current Period does not refer to this, please clarify in a follow-up reply.
Best Regards,
Clara Gong
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- neees78Helper II
Thanks Clara ...its now working perfectly ....appreciate your help 🙂
- neees78Helper II
please find below , reports # 6 & 5 open normal, but reports 7&4 no
all reports reside in the same sharepoint directory .....01_DDR/
- PijushRoyCommunity Champion
Hi neees78
Please use below code (example) to generate new columnColumn = If( CONTAINSSTRING('Table (2)'[FileName],"#"),"https://yyyyyyyy.sharepoint.com/"&LEFT('Table (2)'[FileName],9)&"#"&RIGHT('Table (2)'[FileName],6), "https://yyyyyyyy.sharepoint.com/"&'Table (2)'[FileName])
Let me know if that works for you
If your requirement is solved, please mark THIS ANSWER as SOLUTION ✔️ and help other users find the solution quickly. Please hit the ThumbUp 👍 button if this comment helps you.
Thanks
Pijush
Linkedin