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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
abhiram342
Microsoft Employee
Microsoft Employee

RLS Dax Query

Hi Team,

 

I want to implement RLS on Product table and each user can see the sales for multiple products. I have created below DAX code and it's working fine . Want to check if there are other ways to rewrite same code (( in case if hits perf )

Example:

DAX Expression on Product Table

CALCULATE (
COUNTROWS ( 'Product' ),
FILTER (
VALUES ( 'Product'[Alias] ),
AND('Product'[Alias] = USERPRINCIPALNAME (),MAX('Product'[IsValidUser]) = TRUE())
)
) > 0

 

Relationships

1) ProducRLS (ProductID) * --> Product (ProductID)

2) Product(ProductID)<-- *Sales (ProductID)

 

defg@xyz.com --> will not see any data because they are not valid user

ProductRLS Table

ProductIDAliasIsValidUser
1abcd@xyz.comTRUE
2abcd@xyz.comTRUE
1defg@xyz.comFALSE

 

Product:

ProductIDName
1Pepsi
2Coco

 

Sales

DateIdProductIDSales
202305011100
202304011300
202305012200

Thanks,

Abhiram

1 ACCEPTED SOLUTION
wdx223_Daniel
Super User
Super User

Product[ProductID] IN CALCULTATETABLE(VALUES(ProductRLS[ProductID]),ProductRLS[Alias]=USERPRINCIPALNAME ()&&ProductRLS[IsValidUser]=TRUE())

View solution in original post

1 REPLY 1
wdx223_Daniel
Super User
Super User

Product[ProductID] IN CALCULTATETABLE(VALUES(ProductRLS[ProductID]),ProductRLS[Alias]=USERPRINCIPALNAME ()&&ProductRLS[IsValidUser]=TRUE())

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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