Forum Discussion

cv77's avatar
cv77
Helper I
4 years ago
Solved

Conditionally display text if row level security returns no data

Hi, 

 

We publish multiple reports to a workspaces, and users may have different row level access across the reports.  For example, a user may have access to a certain subset of the data in report1 and access to a different subset of the same data, or no data at all, in report2 within the same workspace. 

 

Is there a way that we can display something like 'No access' eg in a textbox, in the case where a user has no data available in a report, other than by modifying each measure to conditionally display something (not a desirable solution due to the number of measures and opportunity for error).  By default if the user opens a report and RLS returns no data, the absence of data is unintuitive. 

 

Thanks.

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi cv77 ,

     

    There is no specific function, but the following solution can be used to solve it.

    It is to count your rows. If the user can't see the data, the count is empty, and no access permission is returned.

    You can create the following measure and put it into a card visual.

     

    Measure = IF(ISBLANK(MAX('username'[username])),"No access","Have access")

     

    Users with access can see the following

    Users without access can see the following

     

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

7 Replies

  • while the absence of data may be unintuitive, the message "No access" is like a slap in the face, and likely to decrease your friend count. 

     

    You can use COALESCE to cover the "missing data"  scenario.

  • Thanks for the response.  Is there a way that I can use that other than on every measure?  I was looking for something that would apply across the report rather than having to write it into every calculation.   

    • lbendlin's avatar
      lbendlin
      Super User

      I am not aware of a more global approach - apart from using different reports for different audiences that avoid the issue in the first place.