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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
dirkmuis
Helper II
Helper II

Best practice sharing customer specific dashboards

I'm looking for the best way to accomplish the following (if possible):

 

1. We're creating a dashboard for customers 

2. We want to share the dashboards to customers

 

Questions:

1. Is it possible to create one dataset (let's say persons) and share it to a customer with a fixed filter per customer? So they only see persons connected to organisation X and another customer persons connected to organisation Y or should we add a data source per customer?

2. As the data comes from our database which is off course not open to public, how do we let them refresh the data or even better how can we keep their data actual without manually push it.

3. Can we share dashboards to different customers without having to know their credentials?

4. So we need a solution where we can pre-create some dashboards and share it to our customers, so it shouldn't be open to public. It sounds like a service with customer accounts.

 

I'm wondering what the best options are?

12 REPLIES 12
debiesven
Frequent Visitor

Hi @dirkmuis , did you manage to get this done? I'm thinking about the same setup. But with customers that can already login to our own self service portal. But that they can see a standardized dashboard with their sales/product data on it. And I don't want to create a separated dashboard or set of dashboards for each customer

ibarrau
Super User
Super User

Hello, this is all possible. Let's make something clear.

To make this work you and the customer must have power bi pro license.

 

  1. You can create a big dataset with all "people" and prepare a RLS security to filter the data for each specific customer.
  2. You can maintain the data refreshed with Power Bi On Premise Gateway.
  3. This is a bit tricky. Are the customers in the same Active Directory? if so, yes you can. If not, I am not sure you can configure RLS security with external users.
  4. The best way is that everyone has a pro license, so each customer must login and have their private information on microsoft security.

 

Regards,

 

P/D Do you speak Spanish? Persons is not so common to say haha.

 


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

I'm Dutch ^^. Persons is the term we use in the database so for me it is common to use.

About item 3; We don't have any of the customers in AD. We have our own application on which customers have a custom login.

 

Anyway, I don't think it's a problem that they should have pro licences but I was wondering if we don't have to use their credentials to be able to push the data. Like if you publish from your powerbi desktop to your service you need to login. You don't want that for all your customers. Maybe you need to set it up first but then it should be a (semi-)automated process off course.

Okay. Let's see. You have to add power bi to a custom app.

 

If you don't want to create a report for each customer, then read about Power Bi Embedded where you can use RLS.

 

Regards,


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

You mean integrating it into our existing app?

The plan was to use it separately and not embedded in the application.

 

Creating separate reports isn't the biggest issue. Sharing it without knowing the customers credentials is.

When we talk about let's say 50+ customers it's beginning to look like a lot of effort when you have a minor change. Update all reports en send them to the customers via ??????

Ok, if you want a separate app like Power Bi Service and you have 50+ customers, then I think you should proceed this way:

Create credentials in your azure active directory or office 365 to your customer. Activate Power Bi Pro License. Create Power Bi Desktop reports with a rule to filter by customer (RLS). Then Publish the report. In Service, go to security of the datasource and add the credentials to the rule you have created in Power Bi Desktop. Create a dashboard and share it with them.

 

This way, the can login in app.powerbi.com and check "Shared with me". They will have a resume of the data in the dashboard and access to the report all filtered by the customer they are.

 

You can use what the link says, but the external user must have a pro license.

 

Let me know if something is not clear.

Regards,

 

P/D RLS is DAX, check the function USERNAME(), that would help.


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

Could we also work with an app in here?

If you mean Power BI mobile or windows 10 app, then yes. However, if you refer to a custom app, then you need to check power bi embedded. Otherwise you won't have RLS on the custom app and you will have to create a lot of reports.

 

Regards,


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

I mean publishing and than create an app via powerBI service.

Yes you can create an app of Power Bi service with pro license and distribute that way. However I recommend sharing dashboard because you have a better control of the exact reports of the workspace that the customers can see.

 

Regards,


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

Can you explain that a bit more?

As you suggested the best way forward could be mapping within AD so externals can have access. With an app I'm able to let people find it in the internal 'app store'. With a dashboard I need to send them a link or email when I've done updates right? The app pushes updates as far as I've seen.

 

An additional questions:

-I've seen we can install a gateway for scheduled refreshed which seems to work fine for now. This is the best way to refresh data I suppose?

-With RLS we can manage roles. We can also use paramaters I've seen. However if I create a view, let's say "employees" and I want customer A to view al employees of organisation A and customer B for B. So the parameters are A and B in this case. What happens is that the full list of customers will be uploaded into powerbi right? So one little mistake in the RLS and people see eachothers data. So the other, much safer option, imo is to create views / query's per customer with the filter build-in. The con is that I need to query the database multiple times (for each customer) to upload the data each refresh. In RLS it's one upload and the rest of the load is within powerbi.

-When I change a report, e.g. a graph type or I delete an (old) graph it will not automatically update all affected dashboards. So the customer can still see the old graph (which won't get any data updates anymore).

-What is the easiest wat to provide (a selection of) the datafields to the customer so they can create their own extra graphs? 

 

I know it's a lot I'm trying to find out. That's also the reason I'm looking for a good direction to continue with.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors