Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

DAX Code for Dynamic RLS

I am new to DAX and am trying to implement some dynamic RLS. The current table of users details looks like below: User Email User Name Agent ID Level of Access Required Region Company tes...
  • sturlaws's avatar
    sturlaws
    6 years ago

    sorry, was a bit quick there, you need to write it like this

    VAR _t =
        CALCULATETABLE (
            VALUES ( 'Access_Table'[Access_Required] ),
            FILTER ( 'Access_Table', 'Access_Table'[User_Email] = USERPRINCIPALNAME () )
        )
    RETURN
        IF (
            CONTAINS ( _t, 'Access Table'[Access_Required], "National" )
                || CONTAINS ( _t, 'Access Table'[Access_Required], "Regional" ),
            'dimCompany'[Company]
                IN CALCULATETABLE (
                    VALUES ( 'Access_Table'[Company] ),
                    FILTER ( 'Access_Table', 'Access_Table'[User_Email] = USERPRINCIPALNAME () )
                ),
            TRUE ()
        )