Matrixed Report Navigation

I was recently tasked with revamping the Microsoft 365 Usage Analytics template app, as it was created several years ago and could benefit from many of the new features in Power BI.

When I initially opened the report the first thing I noticed is that it was 26 tabs. 26 tabs is a LOT of tabs. When a report is structured with this many tabs, it can lead to a linear consumption experience where to end user goes through each tab in sequence to wade through the information, and navigating to a specific piece of information can be a challenge.

We did a quick inventory of the 26 tabs, and decided on a “Matrixed Navigation” that would consolidate tabs and make for a better user experience. At the end of the day, we ended up with 5 Topics or “Categories” of depth and built in navigation to let users navigate the vast amount of content in the report within these categories. This was achieved by looking at commonalities in each tab and consolidating at the right depth to make for the most seamless user experience.

Pre-Built Matrixed Navigation Template

I have found that using this Matrixed navigation approach has been successful when working with really heavy Reports that cross many topics and depths of content, so I wanted to share an example PBIX that has all of the Navigation components built in and ready to be used!

As I mentioned in my post on In-Page Navigation, prior to Visual grouping, I would never have suggested using this kind of navigation, as it was far too tedious to achieve, and hard to update when things needed adjustment. Luckily, when developing the redesign of the Usage analytics reporting, Visual grouping was in test so I was able to utilize it in the build and discovered some really cool functionality when combining Visual groups with Bookmarks

How It works

The template has two forms of navigation: Page Navigation for “Categories” that control the depth, and In-Page Navigation to allow users to work through their content within the same level of depth

For Categories, we are simply navigating from page to page with bookmarks that only include the “Current Page” option selected:

For the template, I refer to my In-Page Navigation “Stages”. The way these bookmarks work is by hiding/unhiding the Selected visual groups, and correlating buttons while keeping “Data” unselected to avoid any funny business if slicers are brought into the picture.

Since we are effectively hiding/unhiding the groups, rather than the individual items, we can modify what is included in the group without needing to update any bookmarks

How to Implement the Template

Start by Downloading the template here

Once you have the report template and your data, you can build the Stages out. There are currently placeholders in each stage to create our groups so that all of the bookmark plumbing could be achieved ahead of time.

Add your visuals to the page, then drag the elements into your Stage 1 Visual Group

After building out the remaining visuals for my Stage 1, I can delete the placeholder shapes and retain the group:

No Bookmark updates are needed at this point! You can now modify your button text as it applies to the report, and navigate to your “Stage 2” with a Ctrl+Click to begin building out your next section.

From here, you can repeat the same process as the above. If you only have 2 or 3 “Stages”, you can remove any unnecessary buttons, and modify the Background in PPT to make your “Tab” structure look nice and clean.

See Background Gallery for PPT file and this post on how to use backgrounds if you not yet familiar


Not all report content makes sense to navigate in this way. I usually reserve these methods for very large reports that are not only broad in content, but have varying levels of depth.


When creating a report with a large amount of Buttons, it is very important to modify the Tab Order so that it has a logical flow for keyboard navigation. I have set this up in the template, but when you bring in new visuals you will have to ensure that the tab order is adjusted to give the buttons the correct order. This is easy to achieve in the Selection Pane:


Matrixed report navigation can give end users a much cleaner experience than tabs when working with a high volume of data than Tabs. Try it out and let me know how you like it!

Quick Links

Download the Template

Background Gallery


Creative Bookmarking for Tooltip Page Control

One of my favorite things to do in Power BI is get creative with bookmarking, and last week I received a question that made me think of this idea.

Essentially, I was asked if it is possible to use bookmarks to switch between a default Tooltip and a fancy Tooltip page. The short answer is “No”… as bookmarks do not capture the state of the formatting, and tooltip type comes from the formatting. But this made me think about how to make something like this work, and after a little bit of playing I was able to come up with a solution.

To be blunt, this method is not for bookmarking newbies, and the use case is pretty narrow, but I wanted to share it, as I imagine it will get a lot of people thinking outside the box when it comes to bookmarking.


What we want to do here to work around the problem of Bookmarking not capturing format state by creating a two states for our Tooltip Page, and using bookmarks to swap them back and forth.

I have a Matrix of GDP/Gov Integrity Score by Country that I want to be able to add additional context to via the tooltip page feature. For guidance on how to design tooltip pages, check out Power BI Tooltip page Guidance

My First tooltip is going to be a matrix that provides additional data points for the country that we hover on:

Next I will hide my table and build out a “fancy” tooltip, and group the objects:

Now I will create my Bookmarks that control which version of the tooltip is visible. They key here is to disable the “Current Page” option from the bookmark! This will allow us to call the bookmark and make the swap without navigating to the page:

Simple Bookmark activated Result:

Fancy Bookmark Activated Result:

Now we need to make this thing user friendly, which is where the real challenge comes in. If you have read my posts on User Friendly Drill Down, or In-Page Navigation, you have seen the importance of buttons for user experience, and formatting of buttons to ensure the users know where they are at all times.

I have added some buttons to select the simple or the fancy tooltip type, but I want to be able to have them change color depending on if they have been activated or not so our user can tell which type they are on

Well, in this case, formatting button state gets pretty complex, as we are calling on a bookmark that is impacting a separate page… not the one we are on. Bookmarks are tab specific, so it is not possible to modify the tab we are on and get the desired swap on the tooltip page.

This is where Conditional formatting of buttons, and some trickery with Slicers comes into play! By adding a slicer that has no relationship to our data (or all interactions to our visuals turned off) on the main page, and syncing it with the same slicer on the tooltip page, we are able to get the job done.

Adding the slicer

The field used in the slicer is really not important in this case, all that matters is that it does not impact our data/tables and it is able to be used in conditional formatting. For simplicity, I am going to create a new table with 2 values in it, 0 and 1. and add a slicer to our main page:

Next, I will add conditional formatting to our Buttons. “Simple” is going to darken when the “Status” slicer is on 0, and “Fancy” will darken when our slicer is on 1.

The option for Conditional formatting can be found in the format pane by hovering on the dots next to the various color selections. In this case I am going to conditionally format my Fill.

Here is the result of the conditional formatting:

This is great, but at this point it is not functional. To make this work how we want it to, we are going to need to do the following:

  • Bring the slicer to our tooltip page and Synced with the main page
  • Update our bookmarks to also modify the slicer while keeping it hidden
  • Hide the slicer from our main page

I have copied/pasted my slicer from the main page to the tooltip and selected Yes to Sync the slicers:

Now, “Fancy” needs to be on the “1”, so I will change that, hide the slicer, and update my bookmark:

Next, I will activate my “Simple” bookmark, adjust the slicer to “0”, hide it, and update the “Simple” bookmark:

Testing the Buttons on our main page, we can see the slicer is working as intended. We can now hide the slicer on our main page, and we have a fully functional Tooltip Swap:


Bookmarks are incredibly powerful when creating user experiences in your Power BI Reports. While this example is fairly niche, it demonstrates the capabilities of the feature, and will hopefully inspire some creativity!

Download the PBIX Here