All Power BI Templates
09
Persona Cards - Overview & KPI Details
Click here for mobile friendly version.
On other devices, click/hover below to interact (use full screen from bottom right for best experience) -
Corporate Dashboards don't have to be boring - Part 5!
Persona Cards – Power BI Template
A frequent requirement in the business reporting world is the need to show all KPIs in one Overview tab (L1) with the option to drill into the details of each KPI (L2). But sometimes there is also the additional requirement of making the same L1 layout/design work for different Personas/Domains in the business, like Executive, Sales, Finance, etc. with the caveat that while the Executive Persona should be able to see all KPIs, all other Personas should only see the KPIs relevant to their Domain.
The usual solution to this problem in Power BI would be OLS (Object Level Security) which is one of Power BI’s RBAC methods. The only problem is that when you use OLS and a Persona is looking at a KPI card which they don’t have access to, they see an error message that looks more like a bug/broken visual rather than intended design. This can make a report user think that the report is broken, eroding trust in the report. This leads to developers avoiding OLS and instead creating multiple Persona-based reports - leading to duplicative, repeat work with tons of overhead maintenance down the line.
Microsoft's own documentation on this topic highlights the same -
There is a somewhat creative solution however - through the use of a Landing Page (L0) - using which you can achieve the kind of result shown here in this Power BI dashboard. The solution requires RLS but since using RLS would not allow “Publish to Web” option, I have used a “Switch Persona” filter to replicate the RLS action here.
Step 1 - You will need a User List table (having User Email IDs and their Personas/AD Groups clearly listed) as part of your Semantic Model. This can be an extract from the Microsoft Entra AD Groups itself or something manually maintained in SharePoint by the business.
Step 2 - Create an RLS for each Persona. This will ensure that as soon as the User opens the dashboard, the User List table shown above will be filtered to only the row(s) pertinent to that User.
Step 3 - Once the above 2 steps are complete, create a Landing Page with a button having Page Navigation action. Ensure the Page Navigation is not static but tied to the Persona of the active user through a DAX measure as shown below.
Ensure the L1 Overview tabs for each Persona have the same name as the Persona of the user in the User List table. This will ensure each button navigates to their specific L1 Overview tab from the Landing Page.
After this you can also create individual KPI tabs and you will only have to create each KPI tab once even if you are navigating to that KPI from multiple Overview tabs. This is because we will be using a Back button on the KPI tabs, which will ensure you send the User back to the Overview tab they came from.
Please note that the 'switch persona' filter in the dashboard shown above on this page simply replicates the effect of the RLS setup described above. Once RLS is set up as shown above, Power BI will automatically filter the User List table down to the User's row(s) as soon as the user opens the dashboard. So the user will only see their Persona as assigned to them in the User List (which could be a direct feed from the Microsoft Entra AD Groups). Our 'Switch Persona' filter replicates this through a manual user filter, allowing us to test all Personas, but it won't be a part of the actual real-world dashboard.
Also, please note that while it may look like RLS itself is enough for this solution, I would still suggest baking in OLS as well just as a second level of safety. This will ensure that even if some user accidently gets Edit rights to the dashboard and is then able to open up other Persona's tabs, they will still not be able to see the data.
The UI/UX here uses color-coded Persona cards on Landing Page (L0) to highlight their difference. Locked KPI cards on Overview tabs (L1) clearly signal lack of access to that information for that Persona. Additionally, Figma was used to design some pop up information on the KPIs.
Demo video below -
PDF with Power BI screenshots below -












