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!
Solved! Go to Solution.
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()
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!
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()
User | Count |
---|---|
206 | |
84 | |
82 | |
77 | |
48 |
User | Count |
---|---|
165 | |
87 | |
85 | |
80 | |
74 |