Forum Discussion
RLS security based on State and Company table
Requirement - Apply RLS
- Fact table should be filer base on email address
- one user could be assign to multiple state but same user can be assign withing only one company of any one particular state
What DAX i will write to filter data
NOTE- IF user have an access of two state like MH and MP , but its having an only one company access "google" then he can be only show data of google company not for other company from another state
amitchandak Greg_Deckler
- Anonymous3 years ago
HI ashishg,
Did you mean the company RLS table is the role settings you want to filter on these tables? Is there any index fields include in your ‘State RLS’ table?
I'd like to suggest you can use the current username and index field to find out the first ‘State’. Then you can use the ‘State’ as condition to lookup the ‘report fact’ table by ‘State’ and ‘product ID’ to find out first company.
After these steps, you can extract the result 'company' and current 'username' to apply RLS filter on table feilds.
Regards,
Xiaoxin Sheng
3 Replies
- AnonymousNot applicable
Hi ashishg ,
Can you please share a pbix or some dummy data that keep the raw data structure with expected results? It should help us clarify your scenario and test to coding formula.
How to Get Your Question Answered Quickly
Regards,
Xiaoxin Sheng
- ashishg
Advocate I
Anonymous
here is the tables , I'm not able to attached pbix file, Relationship as shown in above image
ReportFact
ProductID State Price Company 1 MH 20 Google 2 MH 20 Google 3 MH 10 Google 4 MH 30 2. CompanyRLS
Email Company [email protected] Google [email protected] amazon 3. StateRLS
Email State [email protected] MH [email protected] KL [email protected] MP - AnonymousNot applicable
HI ashishg,
Did you mean the company RLS table is the role settings you want to filter on these tables? Is there any index fields include in your ‘State RLS’ table?
I'd like to suggest you can use the current username and index field to find out the first ‘State’. Then you can use the ‘State’ as condition to lookup the ‘report fact’ table by ‘State’ and ‘product ID’ to find out first company.
After these steps, you can extract the result 'company' and current 'username' to apply RLS filter on table feilds.
Regards,
Xiaoxin Sheng