Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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()
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
110 | |
94 | |
81 | |
66 | |
58 |
User | Count |
---|---|
150 | |
119 | |
104 | |
87 | |
67 |