Forum Discussion

neees78's avatar
neees78
Helper II
2 years ago
Solved

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 

  • Anonymous's avatar
    Anonymous
    2 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

  • Anonymous's avatar
    Anonymous
    Not 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.

     

    • neees78's avatar
      neees78
      Helper II

      Thanks Clara ...its now working perfectly ....appreciate your help 🙂

    • neees78's avatar
      neees78
      Helper II

      please find below , reports # 6 & 5 open normal, but reports 7&4 no 

      all reports reside in the same sharepoint directory .....01_DDR/

       

      • PijushRoy's avatar
        PijushRoy
        Community Champion

        Hi neees78 

        Please use below code (example) to generate new column

         

        Column = 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