Forum Discussion
Filtering table with USERNAME() for Row Level Security
Hello community,
I want to have a row level security that does this "Filter the units depending on the USERPRINCIPALNAME() units when the USERPRINCIPALNAME() is in a group containing "administration"."
I wrote this DAX code that does what I want (note: units and groups are hierarchical subset of the company):
[Units]
= CALCULATE (
LOOKUPVALUE ( 'Employee'[Group], 'Employee'[E-mail], USERPRINCIPALNAME () ),
FILTER ( 'Employee', CONTAINSSTRING ( [Groupe], "Administration" ) )
)
Unfortunately, "USERPRINCIPALNAME()" cannot be used inside of a Calculate function if I believe the error.
How can I refactor to obtain the result that I want?
Best regards,
4 Replies
- lbendlinSuper User
You don't. Apply RLS to your dimension tables and let the data model do the work for you.
- AnonymousNot applicable
Thank you for your answer.
Then, what would the DAX code look like to filter with the string "administration"?- lbendlinSuper User
pretty much the same as you show. Just as a RLS rule, not as a measure.