Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Dynamic RLS DAX Syntax Errors - IF Function

I am trying to create a DAX expression for a Dynamic RLS design but keep receiving a syntax error.

 

The two tables used in the expression are a Users_tbl and a Permissions_Table.  The Users_tbl has a 1 : Many relationship with the Permissions Table.

 

Filters are applied based off of the values in the Permissions_Table[Senior Manager_RLS] column.

 

Several users have the word "None" listed in the [Senior Manager_RLS] column since I want those users to be able to see all data in the dashboard (no filters applied).  For everyone else, I want them to see only the levels I have assigned in the Senior Manager_RLS column.

 

I've been trying to implement an if statement to remove the filters if the Permissions_Table[Senior Manager_RLS] column contains "None" but keep receiving a syntax error on 'if' (I've tried both 'IF' and 'if' both returning the same syntax error).  Here is the complete code:

 

var temp_table = FILTER(Permissions_Table, Permissions_Table[Email]=USERPRINCIPALNAME())

if(temp_table[Senior Manager_RLS]="None",
TRUE,
[Email]=USERPRINCIPALNAME()
)

 

Any help would be much appreciated!

  • Anonymous ,

    try like

    if(Maxx(temp_table,temp_table[Senior Manager_RLS]) ="None",
    TRUE,
    [Email]=USERPRINCIPALNAME()
    )

     

    or

     

    Maxx( FILTER(Permissions_Table, Permissions_Table[Email]=USERPRINCIPALNAME()),[Senior Manager_RLS]) ="None" || [Email]=USERPRINCIPALNAME()

2 Replies

  • Anonymous ,

    try like

    if(Maxx(temp_table,temp_table[Senior Manager_RLS]) ="None",
    TRUE,
    [Email]=USERPRINCIPALNAME()
    )

     

    or

     

    Maxx( FILTER(Permissions_Table, Permissions_Table[Email]=USERPRINCIPALNAME()),[Senior Manager_RLS]) ="None" || [Email]=USERPRINCIPALNAME()

  • Anonymous's avatar
    Anonymous
    Not applicable

    Thank you very much for the help amitchandak .

     

    I'm still learning DAX so I very much appreciate that you included both a modified version of my code in your first solution and then also added a more streamlined version with your second.

     

    Strangely, when using the code from the first solution and including the variable declaration, I was still receiving a syntax error on the if function so I couldn't actually get that one to work.  I'm not sure if that's a bug or not but, for anyone finding this in the future with a similar issue, the second solution works without error.

     

    Thanks again for your help!