Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.