Forum Discussion

PremK's avatar
PremK
Resolver I
1 year ago
Solved

Drill through based on User Logged In

in PBI , i have a report with 3 pages, one page for report and other 2 pages for drill through pages,
in this 2 drill through pages, one page having table with patient name and other page dont have patient name in table.
so based on the user logged in,dynamically enabling the drill through button to navigate to respective page
for example, if userA(ShowPatientName = true) logs in then the drill through button should navigates to page with table having patient name,  
if userB(ShowPatientName = false) logs in then the drill through button should navigates to page with table dont have patient name. i have created a user table and a measure to identify the loggedin user role > UserAccess = DATATABLE( "Email", STRING, "ShowPatientName", BOOLEAN, { {"pkumar.com", TRUE}, {"rstricklin.com", FALSE}, {"jajohnston.com", FALSE}, {"asureshkumar.com", TRUE} } ) Is_Restricted_User measure = VAR currentUser = USERPRINCIPALNAME() RETURN LOOKUPVALUE(UserAccess[ShowPatientName], UserAccess[Email], currentUser, FALSE)

is it possible to do this ???
kindly someone guid me with clear steps 

  • PremK's avatar
    PremK
    1 year ago

    Hello rohit1991 , danextian , v-aatheeque , lbendlin , pbiuseruk 
    appologize for late responce.

    1. Conditional Visibility on buttons (or any other visuals in PBI) will NOT work because this feature is not available at the moment in PBI. I searched for this option but not available.This Conditional Visibility on any visul is a good to have feature but PBI dont have it 😭     correct me if am wrong!    
    2. Duplicating same report for diff users is not a viable option.

    I achieved Conditional Drill through by creating User Access table (with user email and access true or fales) and 2 measure (one is identifying the user is authorized or unauthorized. and second is based on the access assigning the respective pages).

     

     

8 Replies

  • Drillthroughs are based on columns, not on RLS (row level security).  Your expected behavior is not supported at the moment.

     

    If this is important to you please consider voting for an existing idea or raising a new one at https://ideas.fabric.microsoft.com

  • Hello,

     

    like lbendlin mentioned - there isn't an actual feature which supports the functionality you mentioned.

     

    However, you could make 2 reports to cater for the 2 different user groups. Not an ideal solution but it would work.

     

    Also, you could play around with bookmarks and make 2 of the visuals on a single page which requires the drill throughs to separate pages. You could make an instruction note and button at the top to toggle the bookmarks, which would show/hide the visuals. You'd need to make it so that the visual would break, if the user hasn't got the right permission and then the instruction would tell them to click the bookmark button, to toggle the other visual. Again, this isn't ideal but it's a workaround.

  • Hi PremK ,

     

    Drill-through in Power BI can’t filter automatically by the logged-in user, since drill-through only works on model columns and not user identity or RLS. What works best is to add a User Access table that lists emails and access levels, then use a DAX measure with USERPRINCIPALNAME() to check who’s logged in.

     

    You can then set up separate drill-through buttons (or links) and control which one is visible for each user using that measure. This way, users only see the drill-through option that matches their access level. It’s not fully automatic with a single button, but this method keeps everything in one report without messy duplication.

    • PremK's avatar
      PremK
      Resolver I

      Hello rohit1991 , danextian , v-aatheeque , lbendlin , pbiuseruk 
      appologize for late responce.

      1. Conditional Visibility on buttons (or any other visuals in PBI) will NOT work because this feature is not available at the moment in PBI. I searched for this option but not available.This Conditional Visibility on any visul is a good to have feature but PBI dont have it 😭     correct me if am wrong!    
      2. Duplicating same report for diff users is not a viable option.

      I achieved Conditional Drill through by creating User Access table (with user email and access true or fales) and 2 measure (one is identifying the user is authorized or unauthorized. and second is based on the access assigning the respective pages).

       

       

  • Hi PremK 

     

    Add a slicer button to the main page and synch it with the drillthrough page. Then, create a measure to use as a visual-level filter for the visuals on the drillthrough page.

    IF (
        SELECTEDVALUE ( 'table'[button value] ) = "Logged in user",
        CALCULATE (
            COUNTROWS ( users ),
            KEEPFILTERS ( user[user email] = USERPRINCIPALNAME () )
        )
    )
    

    visual level filter on this measure = not blank.

    • v-aatheeque's avatar
      v-aatheeque
      Community Support

      Hi PremK ,

      We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet.do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.

       

      Thank you.

       

      • v-aatheeque's avatar
        v-aatheeque
        Community Support

        Hi PremK ,

        If our response addressed by the community member for your query, please mark it as Accept Answer and click Yes if you found it helpful.

        Should you have any further questions, feel free to reach out.
        Thank you for being a part of the Microsoft Fabric Community Forum!