Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
I am testing out row level security in my pbix file and it is not working as expected.
Looking in use a “Single Role for all the User”
The model has three tables : One is Fact table that has aggregate data, second Dim -person is just general information of the agent and third table is RLS security.
Current active relation between tables
Fact table (user_id) <--- dim person )person_id)
Dim person (badge_id) <---> RLSE security (badge_id) M2M.
Reference: https://radacad.com/find-the-data-value-using-lookupvalue-dax-function-in-power-bi-simple-and-useful
MODELmodel
Type of Data from RLS security table
type of data
partner
role partner
example data
VAR upn = SUBSTITUTE(SUBSTITUTE(USERPRINCIPALNAME(), "_","."),"@mall","@mell")
VAR bdg = MAXX(FILTER('RLS Security‘, 'RLS Security ‘[user_Email_ID] = upn),'RLS Security ‘[user_BDGE_NBR])
VAR condition1= PATHCONTAINS('RLS Security ‘[Relationship], bdg)
VAR condition2 = 'RLS Security'[Masked]
VAR condition3= 'RLS Security' [role partner]
Return
( NOT(condition1) && NOT(condition2) && NOT(condition3) )
||
(NOT(condition1) && NOT(condition2) && condition3)
||
(NOT(condition1) && condition2 && NOT(condition3) )
||
(NOT(condition1) && condition2 && condition3)
||
(condition1 && NOT(condition2) && NOT(condition3) )
||
(condition1 && NOT(condition2) && condition3)
||
(condition1 && condition2 && NOT(condition3) )
||
(condition1 && condition2 && condition3)
In this moment I can get from the 'all_in_one RSL' >> user role_partner = 0 or 1 see all .
'existing code'
VAR upn = SUBSTITUTE(SUBSTITUTE(USERPRINCIPALNAME(), "_","."),"@mall","@mell")
VAR bdg = MAXX(FILTER('RLS Security', 'RLS Security'[user_Email_ID] = upn),'RLS Security ‘[user_BDGE_NBR])
VAR condition1= PATHCONTAINS('RLS Security'[Relationship], bdg)
VAR condition2 = 'RLS Security'[Masked]
VAR condition3= 'RLS Security' [role partner]
Return
// 1,0,1
(condition1 && NOT(condition2) && condition3)
||
//1,1,1
(condition1 && condition2 && condition3)
||
//0,1,0
(NOT(condition1) && condition2 && NOT(condition3) )
||
//0,0,1
(NOT(condition1) && NOT(condition2) && condition3)
But I am looking
user role_partner = 1 see only their data
Conceptual -I 'm not sure this can be done
IF ('RLS Security'[Role Partner] = 0,
'existing code'...,
'only show own data')
Your Return statement will always evaluate to True. Please review it.
Thank you. This means that I have to mantain what I need.
Check out the November 2023 Power BI update to learn about new features.