How can you deliver a centralized Power BI Dashboard to a large audience so that each audience segment sees a personalized/customized version of the Dashboard? Chris in Sales & Marketing only sees their own financial numbers. Jane in Manufacturing sees hers and Bob in Research sees his own numbers.
We faced this challenge when building a Financial Dashboard for one of our clients with a large user base. I covered this briefly in my Webinar (watch relevant section below), but wanted to go in more detail and outline the approaches we considered. Keep reading…
Watch relevant section from our Webinar Recording (Dashboard Personalization)
i. Pin Live Page
You can pin an entire Power BI report page to your dashboard. However, we chose not to go this route since this caused our dashboard not to render as beautifully on mobile devices.
- Easy to implement
- Changes to Report Page appear on the Dashboard*
* In the traditional approach where you pin individual elements, in which case changes to report are not reflected in the dashboard, e.g. if you change the chart type. The Pin Live Page, on the other hand would reflect any changes in the report directly to the Dashboard. This may appeal to some users based on their scenario.
- Personalized view is still a click away 🙁
- Dashboard does not render as elegantly on Mobile
Typically on Mobile, Dashboard tiles are laid out automatically and quite elegantly. However, when pinning a Live Page, you pretty much see the page. See screenshots below.
ii. Copies of Dashboard
This is a brute force solution, but may work if you only have a few different audience segments you need to cater to. We would have had to create 50+ copies of the dashboard with different filters. Thus this option was not viable for us.
- Somewhat Easy to implement
You still need to filter the report for each Dashboard and pin all the elements
- Overhead to maintain
Each time you need a change on the Dashboard, now you have to make the same change in all the copies.
iii. Content Pack
Content Packs are a “self-help” solution. You let your users consume your Dataset/Reports and create their own personalized versions if they like. However for novice users and executive users alike, this involves way too many steps to be feasible. For our scenario, the content-pack approach felt like squeezing the bubble – simply pushing the complexity from our (Power BI Author) side to the User side. Powerful option, but not the right one for our scenario.
- Simple to implement on the Author’s Side
- Advanced Users get free reign to customize and create their own reports and dashboards
- Complex set of steps for end users to personalize their Dashboards
- No easy way for users who personalize their dashboards to merge new changes in the centralized dashboard
- Many users would need to repeat the steps to personalize their dashboards. This essentially decentralizes the creation and control of Dashboards. May be just what you’re looking for, but did not fit our needs
iv. Row Level Security
Row Level Security proved to be an effective approach for us to provide users a personalized view of their Dashboard & Reports based on the Organization they belonged to. The org hierarchy data was pulled directly from the Human Resource (HR) system, which allowed the Power BI Model to identify which user belonged to which department. In our sample data set, it looks as below.
- Dead simple to use on End-Users side. They don’t have to do a thing, when they load the Dashboard/Reports it’s automatically filtered based on their Org/Department.
- Somewhat complex to setup
- If a system table cannot be used to assign users to segments, additional overhead to maintain it manually