Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
lwgoBiadmin
Frequent Visitor

Sharing dataset with RLS to external user and let them create report and publish

We have a premium capacity account from which we are embedding reports to our application with rls to all our clients.
One of our client requested us to share the dataset so they can create report from their end with our dataset and embed into our application. 

Our current implementation:
We are creating report with all client data with RLS and embed into our application with our premium capacity account.
Every client will be seeing only their data. We are using workspace id , Dataset id and report id to embed report. Service principal is used.

Required:
We need to share the dataset with one client who having a pro account. Only the data of that client should be shared.
They should be able to create report with that dataset and publish the report to our application.

We tried to share dataset with Roles to one trial account and it kind of worked. They only got their data and they able to create report from the site but it cannot be downloaded and used in power bi desktop and all the DAX measure also went with the dataset.

Other Questions:
If they able to create report, how they will able to publish to our application?
Will the shared dataset will refresh when the parent dataset refreshed(shedule refresh)?

 

All the answers and ideas are welcomed. Please feel free to share any out of the box suggestions also. 

For more information please ask.

1 ACCEPTED SOLUTION
jaweher899
Super User
Super User

To share the dataset with a specific client, while ensuring that they only see their data and can create reports that can be embedded in your application, you can follow these steps:

  1. Create a new workspace in your Power BI Premium capacity account, and share the workspace with the specific client's email address. This will allow them to access the workspace and the dataset.

  2. Add the dataset to the new workspace, and configure row-level security (RLS) to ensure that the client can only see their data. This can be done using the same techniques you used for your current implementation.

  3. Create a report in the new workspace using the shared dataset, and ensure that the report contains only the data for the specific client.

  4. Share the report with the client, giving them the ability to edit the report.

  5. Instruct the client to use the Power BI service to edit and publish the report to the same workspace.

  6. Once the client has published the report, you can use the workspace id, dataset id, and report id to embed the report in your application.

Note that the shared dataset will refresh when the parent dataset is refreshed, so any updates made by the client will be reflected in your application.

Regarding your other question, if the client is able to create a report, they can publish it to the workspace you have shared with them, and then you can use the report id to embed the report in your application. The process of publishing the report to the workspace is straightforward, and can be done from the Power BI service.

View solution in original post

2 REPLIES 2
jaweher899
Super User
Super User

To share the dataset with a specific client, while ensuring that they only see their data and can create reports that can be embedded in your application, you can follow these steps:

  1. Create a new workspace in your Power BI Premium capacity account, and share the workspace with the specific client's email address. This will allow them to access the workspace and the dataset.

  2. Add the dataset to the new workspace, and configure row-level security (RLS) to ensure that the client can only see their data. This can be done using the same techniques you used for your current implementation.

  3. Create a report in the new workspace using the shared dataset, and ensure that the report contains only the data for the specific client.

  4. Share the report with the client, giving them the ability to edit the report.

  5. Instruct the client to use the Power BI service to edit and publish the report to the same workspace.

  6. Once the client has published the report, you can use the workspace id, dataset id, and report id to embed the report in your application.

Note that the shared dataset will refresh when the parent dataset is refreshed, so any updates made by the client will be reflected in your application.

Regarding your other question, if the client is able to create a report, they can publish it to the workspace you have shared with them, and then you can use the report id to embed the report in your application. The process of publishing the report to the workspace is straightforward, and can be done from the Power BI service.

Thanks @jaweher899 for the quick reply and the solution.

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors
Top Kudoed Authors