We've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hi there,
I have a dataset created in Power BI. I created RLS on it and tested this against userprincipals and it works fine against a basic table in power bi.
I then created a paginated report in report builder and used this dataset. When the users try to access the report it gives the below error. It ran fine pre RLS.
Hello @lherbert501,
We hope you're doing well. Could you please confirm whether your issue has been resolved or if you're still facing challenges? Your update will be valuable to the community and may assist others with similar concerns.
Thank you.
Hi @lherbert501,
Thank you for posting your query in the Microsoft Fabric Community Forum.
Please consider below:
Helpful Microsoft documentation for reference:
If you can confirm what identity is being evaluated during paginated report execution, that should help isolate whether the issue is identity matching or RLS enforcement.
Best regards,
Ganesh Singamshetty.
Hi @v-ssriganesh ,
Thanks for this.
It does indeed look like the Report builder Team/User parameter datasets return all values.
How would I link the userprincipal that I know is working within PBI to the UserID field in report builder?
If you can confirm what identity is being evaluated during paginated report execution, that should help isolate whether the issue is identity matching or RLS enforcement.
- How would I achieve this? Put the userid field on the canvas on report builder?
Thanks
Liam
Hi @lherbert501,
Thank you for your follow up.
Yes, you can validate the identity used during paginated report execution by adding a textbox in Report Builder with:
=User!UserID
This displays the exact user identity passed at runtime. You can compare this value with what your RLS logic expects (i.e, USERPRINCIPALNAME() matching DimUser[Email]). If these values align, identity is flowing correctly.
If your Team/User parameter datasets are still returning all values, that indicates RLS is not being enforced for the executing user context, rather than an issue with the parameter DAX itself.
This step will help confirm whether the behavior is related to identity evaluation or RLS enforcement. For reference: Built-in Globals and User references in a paginated report - Microsoft Report Builder & Power BI Rep...
Hi @v-ssriganesh ,
Thanks again. So it looks like Report builder is passing the windows domain and power bi dataset is giving user principal. I've added in the domain as a column in the dataset.
I'm a little bit lost on how to connect them together, however. Espeically with the manager path and path contains that I have.
All I want is for the report builder user to carry through against their team from the dataset and show that team on the dropdown parameter.
Thanks
Liam
Hello @lherbert501,
Report Builder uses the built‑in User!UserID field, which typically returns the Windows identity for the user executing a paginated report.
RLS in a Power BI semantic model is evaluated using USERPRINCIPALNAME(), which returns the user’s UPN in the Power BI service.
Because these identity formats differ, they must be aligned in the semantic model for RLS to filter paginated report queries correctly. Once RLS is enforced at the model level, parameter datasets automatically return only RLS‑filtered values no additional filtering is required in Report Builder.
Hi @lherbert501
RLS with a Power BI semantic model and a paginated report is supported, so the issue is probably not that paginated reports “don’t work” with RLS. Microsoft’s guidance is that for RLS to work with Report Builder, the consuming users need at least Viewer access to the workspace that hosts the semantic model and Build permission on the semantic model/dataset. Build permission is also specifically required for paginated reports based on a semantic model.
I would check these items first:
Confirm the users opening the paginated report have Viewer on the workspace hosting the semantic model.
Confirm they also have Build permission on the semantic model/dataset, either directly or via app/workspace configuration.
Recreate the data source / dataset connection inside Report Builder and republish the RDL, because this generic Analysis Services connection error is often connection-related rather than an actual RLS-definition problem. Similar community cases show the same “Connection open intermittent error while reading in Analysis Services” message.
Ask the affected user to open See details and share the full error text, because the message shown in the screenshot is too generic to isolate the root cause.
So my suspicion is: permissions first, report data source second, RLS logic third.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
Hi @Ritaf1983 ,
Thankyou for your reply.
Just for a bit more context I have lets say factsales, dimuser and dimteam in my Power Bi dataset. This is what I have tested on using below and this works fine in PBI.
Role Dax
I tried reproducing the scenario, and I created a semantic model and implemented RLS on it. Created a paginated report and shared with a user appropriately. Meaning read permissions on the power bi semantic model and paginated report added the user into the semantic model RLS role . User is able to open the paginated report without any issues.
Let me know if I missed anything here. If not then I suggest you to check if the appropriate permissions on the semantic model and paginated report are shared with the users and users are added to the security role.
Connect on LinkedIn
You can read my articles here: https://www.techietips.co.in/
|
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 57 | |
| 38 | |
| 32 | |
| 18 | |
| 16 |
| User | Count |
|---|---|
| 66 | |
| 66 | |
| 39 | |
| 34 | |
| 25 |