Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi Team,
I have implemented RLS on below model but the performance is slow. can some please suggest way to optimize DAX Code.
RLS Tables:
User Product Sub: A User can have access to atleast one products. ( Each User will have atleast one or more entry in Table)
User Product Sub WW : User has access different categories of Products. ( Each User will have single entry in table)
Fact Sales: Sales Reported for each Customer. Due to Telemetry, we see null Customer ID in Facts. We want to show sales for products even for null customers only for user who are part of Product Sub WW.
Product Table: Product ID and Product Name
RLS DAX code on Product Table:
VAR PRODUCTS =
CALCULATETABLE (
VALUES ( 'User Product Sub'[ProductID] ),
'User Product Sub'[UserAlias] = USERPRINCIPALNAME () && 'User Product Sub'[Is Authorized User] = TRUE()
)
VAR WWAccess = MAXX(FILTER('User Product Sub WW', 'User Product Sub WW'[UserAlias] = USERPRINCIPALNAME () && 'User Product Sub WW'[Is Authorized WW User] = TRUE), 1)
RETURN
'Product'[ProductID] IN PRODUCTS || ('Product'[ProductID] = BLANK() && WWAccess =1)
Please find the attached model with sample data.
Sample Data:
Thanks,
Abhiram
Why are customers linked to products? These should be independent dimension and the product ID should be listed in the Sales table.
Hi @lbendlin - Thank you for your response. Adding ProductID to Fact requires us to reprocess all the fact data and it takes 2-3 days to reprocess historical data. As per existing design, we have relationship between Product and Customer Table. Product Table is small (130 rows) and Customer is large ( 9 Million rows).
Please suggest if there is way that i could optimize DAX query in RLS
Thanks,
Abhiram
Do the normalization in Power Query, or challenge the need for RLS in this scenario.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
14 | |
9 | |
7 | |
7 | |
6 |
User | Count |
---|---|
20 | |
11 | |
10 | |
9 | |
7 |