Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
inavedk
Frequent Visitor

Dynamic RLS With Multiple Columns in User Table

I am trying to create a dynamic rls , Here is my RLS code

VAR _RLS_Restriction =
IF (
_Roles IN "Region" && [WH_Region] IN _AllowedRegions,
TRUE(),
IF (
_Roles IN "Project" && [WH_Project] IN _AllowedProjects,
TRUE(),
IF (
_Roles IN "Group" && [Agent_Group_Name] IN _AllowedGroups,
TRUE(),
IF (
_Roles IN "Region-Project" && [WH_Region] IN _AllowedRegions && [WH_Project] IN _AllowedProjects,
TRUE(),
IF (
_Roles IN "Region-Group" && [WH_Region] IN _AllowedRegions && [Agent_Group_Name] IN _AllowedGroups,
TRUE(),
IF (
_Roles IN "Project-Group" && [WH_Project] IN _AllowedProjects && [Agent_Group_Name] IN _AllowedGroups,
TRUE(),
IF (
_Roles IN "Region-Project-Group" && [WH_Region] IN _AllowedRegions && [WH_Project] IN _AllowedProjects && [Agent_Group_Name] IN _AllowedGroups,
TRUE(),
FALSE()
)
)
)
)
)
)
)

RETURN
_RLS_Restriction

 

 

 

Also Role column i have created with this dax

 

Role =
VAR regionname = [Region]
VAR Project = [Project]
VAR _group = [Group]

VAR _Role =
SWITCH(
TRUE(),
regionname <> BLANK() && Project = BLANK() && _group = BLANK(), "Region",
regionname = BLANK() && Project <> BLANK() && _group = BLANK(), "Project",
regionname = BLANK() && Project = BLANK() && _group <> BLANK(), "Group",
regionname <> BLANK() && Project <> BLANK() && _group = BLANK(), "Region-Project",
regionname <> BLANK() && Project = BLANK() && _group <> BLANK(), "Region-Group",
regionname = BLANK() && Project <> BLANK() && _group <> BLANK(), "Project-Group",
regionname <> BLANK() && Project <> BLANK() && _group <> BLANK(), "Region-Project-Group",
"Other"
)
RETURN
_Role

 

 

 

When a user has a single value passed from a range (i.e., a value in any of the three columns and the rest two columns are blank). The RLS works in this case. However, if I want to add a region or project for that user, it gives an error.

The error message I'm receiving is "The function expects a table instead of a string or numeric expression." Or sometimes if i change some context it was saying multiple values supplied where single value was expected.

Any help or insights on how to resolve this would be greatly appreciated. Thank you!

 

Here is the user table 

 

EmnihRegionPrLjecHGroupRole
158679@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
650309@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
650167@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
162300@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
90474@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
10587@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
650308@nh.mnmphe.cvmNETHERLANDSNLneNoneGroup
enic.mnntvm@mnmphe.cvmFRANCENLneNoneGroup
enmnntvm@mnmphe.fnFRANCENLneNoneGroup
cnnimtvpne.nhhn@mnmphe.cvmFRANCENLneNoneGroup
dvminique.vignnnd@mnmphe.cvmFRANCENLneNoneGroup
emihiv.cvhhndv@mnmphe.cvmFRANCENLneNoneGroup
enic.mnntvm@mnmphe.cvmFRANCENLneNoneGroup
gihhem.gunnneh@mnmphe.cvmFRANCENLneNoneGroup
jenvme.guihhnumvt@mnmphe.cvmFRANCENLneNoneGroup
nnbih.mnidi@mnmphe.cvmFRANCENLneNoneGroup
pienne.guimhin@mnmphe.cvmFRANCENLneNoneGroup
tnienny.mueun@mnmphe.cvmFRANCENLneNoneGroup
jguihhnumvt@mnmphe.fnFRANCENLneNoneGroup
jvmefennnndez@mnmphe.emNoneVGRICV - MLNHCEVUNoneGroup
jvmefennnndez@mnmphe.emNoneVGRICV PRLJECH SHIELG - MLNHCEVUNoneGroup
jvmefennnndez@mnmphe.emNoneVLVNNoneGroup
jvmefennnndez@mnmphe.emNoneGLCHLLIB - VIHRéNoneGroup
jvmefennnndez@mnmphe.emNoneGLCHLLIB PRL - VIHRéNoneGroup
jvmefennnndez@mnmphe.emNoneGLCHLLIBNoneGroup
jvmefennnndez@mnmphe.emNoneEGF - CLMPIÈGNENoneGroup
jvmefennnndez@mnmphe.emNoneEGF - CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneEGF CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneFGJ CCRV - CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneFGJ CCSC - CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneFGJ CCSC VIP - CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneHISCLX - CLMPIèGNENoneGroup
jvmefennnndez@mnmphe.emNoneINHERIVLE - MLNHCEVUNoneGroup
jvmefennnndez@mnmphe.emNoneLMG - CHVLLNNoneGroup
jvmefennnndez@mnmphe.emNoneMVVF - FLNHENVYNoneGroup
nvnngnm@mnmphe.emNoneVGRICV - MLNHCEVUNoneGroup
nvnngnm@mnmphe.emNoneVGRICV PRLJECH SHIELG - MLNHCEVUNoneGroup
nvnngnm@mnmphe.emNoneVLVNNoneGroup
nvnngnm@mnmphe.emNoneGLCHLLIB - VIHRéNoneGroup
nvnngnm@mnmphe.emNoneGLCHLLIB PRL - VIHRéNoneGroup
nvnngnm@mnmphe.emNoneGLCHLLIBNoneGroup
nvnngnm@mnmphe.emNoneEGF - CLMPIÈGNENoneGroup
nvnngnm@mnmphe.emNoneEGF - CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneEGF CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneFGJ CCRV - CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneFGJ CCSC - CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneFGJ CCSC VIP - CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneHISCLX - CLMPIèGNENoneGroup
nvnngnm@mnmphe.emNoneINHERIVLE - MLNHCEVUNoneGroup
nvnngnm@mnmphe.emNoneLMG - CHVLLNNoneGroup
nvnngnm@mnmphe.emNoneMVVF - FLNHENVYNoneGroup
0 REPLIES 0

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.