Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi there,
I have a model where staff can be employed across multiple schools (this is controlled by their contract) - see relationships below.
When I make the relationship between School and Absence active, the model will accurately count the number of absences and filter by both the contract held and the school where the absence is logged - and this calculates when I use a page filter on the School[School] field.
However, when I add Row Level Security (which is based on School[School]), the absences now throw up this error:
Join paths are expected to form a tree, but the table 'Absences' has two join paths to table 'Schools':'Absences'-> 'Basic details'-> 'Contracts'-> 'Schools' and 'Absences'->'Schools'
Is there a way I can make this work? At the moment I have to workaround by making the School > Absences relationship inactive and adding a row from the Basic details table in to the visual (e.g. name), but if I just want a card with a count of the number of absences then the number is always wrong (it includes absences for all schools that member of staff has worked at, not the one that is filtered by RLS).
I hope this makes sense - is there a solution here?
TIA
Steve
Solved! Go to Solution.
@SPaine86 , Make the join between Basic Details and Contract a single directional.
Thank you, I think this has worked. Such a simple solution!
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 41 | |
| 38 | |
| 36 | |
| 30 | |
| 28 |
| User | Count |
|---|---|
| 128 | |
| 88 | |
| 79 | |
| 67 | |
| 62 |