cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
cosm
Resolver II
Resolver II

Row Level security - Show report user which RLS role filters the report

Hi.

I have a report that requires the use of RLS.

Different RLS groups are assigned to the report.

E.g I have these roles:
EU <- Only data for EU countries
US <- Only data for US
Bicycle: Only data for products of type Bicycle
(+5 more roles)

I want the report to automatically show the report users which RLS role is active in filtering the report.

Similar to what is shown when "View as" a specific role:  

cosm_0-1695127367718.png

 

E.g. a user assigned to "Bicycle" role should be informed that he/she only sees products of this type
(so if the report contains a Total sales number, the user should immediately understand that this only contains Bicycle products)

Kind regards
 

3 REPLIES 3
jdbuchanan71
Super User
Super User

I don't know of any way to read the name or description of the current role that is being applied to the user, sorry.

cosm
Resolver II
Resolver II

Hi.

First of all - thanks for the reply. 
This will work as a solution in many cases.

Howevere. Do you have any ideas how to proceed if there are several filter columns?

For example, for the bicycle role, the proposed measure :

Regions = "Viewing data for: " & CONCATENATEX(VALUES('Table'[Region]),'Table'[Region],",")

will display all regions. But it should ideally show that the Product="Bicycle"

In other words, a measure or anything similar that enables to user to see his/hers active role:

Role to show user = 
// Pseudo code. 
CASE 
    WHEN ROLE IN ("EU", "US") THEN
        "Viewing data for: " & CONCATENATEX(VALUES('Table'[Region]), 'Table'[Region], ",")
    WHEN ROLE IN ("Bicycle") THEN
        "Viewing data for: " & CONCATENATEX(VALUES('Table'[Product]), 'Table'[Product], ",")
    ELSE
       "Unknown role"
END


Kind regards

jdbuchanan71
Super User
Super User

@cosm 

You could use a measure over the column that is being filtered by RLS to show them the selection of items they can see.  Assuming there is a column in your table call [Region] and that is where you are applying the filter, a measure like this will show them the region.

Regions = "Viewing data for: " & CONCATENATEX(VALUES('Table'[Region]),'Table'[Region],",")

jdbuchanan71_0-1695130545932.png

 

Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

MPPC 2023 PBI Carousel

Power Platform Conference-Power BI and Fabric Sessions

Join us Oct 1 - 6 in Las Vegas for the Microsoft Power Platform Conference.

Top Solution Authors