Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
hello community,
USECASE 1
Suppose we have a classic star schema, with dim product and dim region.
requirement = we need to implement an RLS rule, users under this rule should only see "Bikes" category sold in "Europe" region
which means an intersection-based RLS between dim product and dim region
The common approach is to create 2 seperate static RLS with one, filtering "dim product" and the other filtering "dim region"
but in that case, those 2 RLS with be additive and we'll see , say some Bikes data saled on "US" region for example.
USECASE 2 :
i've created 2 RLS
RLS 1 = filtering a standalone table not related to the model
RLS 2 = filtering a dimension table related to the model (star schema)
both tables blong to the same dataset (no way to seperate them due to a specific requirement)
as a result of RLS additive behavior, and from the fact that those 2 tables are not related,
applying both RLS at the same time, made the data fully accessible.
any workarounds except createing seperate parameterized datasets ?
Thank you!
Hi @MrKETATA ,
Your usecase 2 is the usual method.
1 add a role table( seperate parameterized dataset)
2 filter product and region table by two rls rules.
rls code like this:
product table:
[product_id] in calculatetable( values(roletable[productid]), filter( roletable, [useremail] = username()))
region table:
[region_id] in calculatetable( values( roletable[region_id]), filter( roletable,[useremail] = username()))
Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thanks @v-chenwuz-msft
The thing is, table in RLS1 will be used to assign our end userprincipalname() to a specific page name (has no business with data model), although, RLS2 is meant to filter our data model, finally i'll go with multi parameterized dataset, and leverage RLS1 only, I would suggest to disable RLS additive behavior on tables that are obviously not related.
Regards.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
144 | |
76 | |
63 | |
51 | |
48 |
User | Count |
---|---|
204 | |
86 | |
64 | |
59 | |
56 |