Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago

Url filter on Dataset query parameters

 https://docs.microsoft.com/en-us/power-bi/service-parameters  - Following these steps I can now just return the data I want to a specific user's report. The problem is that we have alot of users and uploading one report per user is not the solution for me. 

Is there any way I can upload one Report with a Query filter to my on-premise Report Server and dynamicly pass a UserId and the report only shows that user's data?

 

Regular report filters wont work since that filter show all users available and they can just filter on other users and show there data, which of course won't work. 

I don't know if I can use the new preview feature where filters can be hidden and be sure that that function will not dissapear. Since I'm using Report Server and Power BI Desktop (January) I'm not sure this is something that I can trust to work with the warnings being displayed at the moment opening a report from a newer version of PBI Desktop

 

Does anyone have any suggestions for me on how I can achieve this? 

4 Replies

  • I do not know how you have configured the parameter and what data mode is in use (Import/DirectQuery/Live) but there are a couple of ways to effect limiting the data to only what a given user is allowed to see:

    1. Row Level Security is a possible answer (the parameter will not be required).  
    2. If the report uses a direct data source where the data is security trimmed per user then configuring the data source to connect in the user's security context will work (the parameter will not be required).
    3. Creating a SSAS tabular cube configured with row level security will work (and the parameter will not be required). Bonus with this approach is that you can create additional reports against the cube and RLS will be in effect. 
    • Anonymous's avatar
      Anonymous
      Not applicable

      Thank you for the suggestions, I'll have a look at these ! 

       

      For now it's DirectQuery but I'll need to make this work for Live connections as well. 

      The parameter is set up like this : 

       

      And then i want to filter on the Id parameter in the URL http://localhost/Reports/powerbi/my-report?Id=myId

       

      I've got custom secturity set up so if someone enters the wrong Id they won't get authenticated. So the only problem with this solution is that the report isn't filtered on Id

      • ITGeek555's avatar
        ITGeek555
        Helper II

        For Live Connections you do not need the parameter as SSAS cubes perform the RLS for you if you set it up in the cube and configure the report data source to connect to the cube in the security context of the user running the report.

         

        In terms of the DirectQuery parameter, what is the data source type and how are you using the parameter value?