Use bookmarks to create buttons for different visualizations
Do you want to lessen the number of pages in your dashboard by creating buttons for different visualizations? You can use bookmarks to create the feel of interactive buttons!
I want to show multiple charts in the same page because all the visualizations require exactly the same slicers and I want to show a table with all the necessary information below when showing the chart. But a page is not big enough to put all the slicers, multiple charts, and one big table. So what I can do is to save a nice big slot for one big chart, and then create buttons which will let me choose which chart to display. This will save you space on a page, and make your dashboard more interactive and intuitive. Let’s get into how to make this happen!
I will use my fake experiment dataset to show how to do this. You can download the fake dataset here to follow along. I will create charts for: actuals, accumulative, and growth rate with experiment variants as legend and date as x-axis, and then create buttons for each chart.
TLDR
Create all the visualizations you want to put in one page.
Use the Selection pane to make certain visualizations visible and invisible.
When you have a “tab” view you want, add a bookmark.
Create a button and put action as the bookmark.
****UPDATE: instead of tldrp step 4, use “Navigator” function, which is faster and better — blog post for Navigator can be found here.
Step by Step Guide
First step -
create all the visualizations in one page and place them in the spot you want them to be; yes, they will be overlapping one another inevitably at this point. Again, I am creating charts for actuals, accumulative, and growth rate; if you want to do the same but do not know how to create accumulative measures or the interactive growth rate calculation, go to these articles to learn how to do so:
How to create accumulative measures
How to create interactive growth rate calculation
For me, I put all the slicers I want on the left, and the table at the bottom, and all the visualizations in one place on top of the table. The three visualizations are all interactive with metric selection. If you want to do the same but are not sure how to, check out How to create an interactive metric selection for one visualization.

Second & third steps -
go to the View tab on the ribbon and open [Selection] pane and [Bookmarks] pane.

Once you open the panes, you will see all the elements in the current page showing up in the Selection pane. You will use “Show” and “Hide” to make certain visualizations not visible for each bookmark you create. So let’s do one by one.
The first bookmark: for Actuals. Hide the other two visualizations by clicking the “eye” icon. Make sure the chart is in the right place and when you are satisfied, add a bookmark. For your convenience, rename the bookmark. I am naming it “Actual”:

Now let’s do the same with the other two. I am hiding Actual and now making the Growth rate visible. Then add a bookmark, and rename it.

Lastly, let’s make one for accumulative.

Now make sure the bookmarks are done how you want. Use the bookmarks pane to choose each bookmark and see how they behave, meaning how the visuals change.
last step - Create Bookmark buttons
****UPDATE: as of 2022, you can use “Navigator” to create buttons for multiple bookmarks at once, instead of following below instructions which create a button one at a time. Go to this new blog post about Navigator and learn how to.
now that you have created all the necessary bookmarks, it’s time to create bookmark buttons.
Go to [Insert] tab on the ribbon and click [buttons] > [blank]. I like to use blank so I can put the texts I want:

Place the button in the place you want, and in the visualizations panel, turn on button text and add a text. After, turn on “Action” then choose “Bookmark” as the type. It will give you the dropdown to choose a bookmark. Select the appropriate one. Here's a screenshot showing you how I set up "Actuals":
![]() | ![]() |
Now you created one bookmark button! Repeat the process to create two more buttons for the other bookmarks. I created the following 3 buttons:

To test them, you have to click the Ctrl key and click the button when you are on PBI desktop. Once you publish it to Power BI app though, the buttons will work without pressing Ctrl. I believe it is designed that way so you can click the button to edit them without activating them all the time while working on PBI desktop. Mine works correctly, and this is the screenshot of what I have:

But now you have a problem. Users cannot easily tell which visualization they are looking at among the three. It would be better if the bookmark is colored when the corresponding visualization is on display. How do we do it?
To make that happen, you will have to create a fake background and incorporate it as a part of each bookmark’s element. So create a rectangle that will fit behind a bookmark by going to: [Insert] tab > [Shapes] > [rectangle].

Make the rectangle to fit the bookmark. Put it right on the bookmark, make the rectangle to be in the back, and make sure the bookmark’s background is off. Now the particular bookmark will see darker:

If this is the visual effect you want, copy the shape and add them behind the other bookmarks as well. Again, make sure the shape you are adding will be in the back and the buttons do not have background:

Now it’s time to update all the bookmarks; because we added new elements to the report, the already created bookmark will show all the elements so we need to use Show/Hide function again and update each bookmark. To do so, go to [View] > open [Selection] and [Bookmarks] Panes again. For each bookmark, do the following:
1. Click the bookmark you want to update. This is crucial to make sure all your previous selection for the bookmark to show up. Don’t skip this. 2. Hide the shapes that are behind the buttons that are not corresponding to the bookmark you want to update. For me, to update “Actuals”, I am hiding the shapes behind “Growth Rate” and “Accum.” buttons:

3. Then, go to “Actual” bookmark and either click more option (three dots on the right) or right click it. Then choose “Update”:

Now repeat the process for “Growth Rate” and “Accumulative” bookmarks. Once you have done that, test to make sure using the Bookmarks pane – you want to make sure the colored shape shows up for the right button and the visualization also changes accordingly. For me this is how it looks now:
When you click Actuals:

When you click Growth Rate:

When you click “Accum.”:

You are almost done! One more thing. Right now, if you choose a different metric, for instance “RPC”, and then click a different visualization button (in other words, if you click a bookmark), it will reset to the metric and other slicers that were chosen when you created/updated the bookmark. To retain the changes in slicer choices, you have to modify the bookmark to not apply the same filter. To do this, right click the bookmark again and unmark “Data”:

If you unmark “Data” for all the bookmarks, then you can jump between bookmarks and your new metric selection or other slicer selection will stay.
Conclusions
Woah! I feel like it took a long time to get here. Now you created three bookmarks with buttons to show three different visualizations within one page without sacrificing its size. As you can see, bookmarks have their own ways that you need to be aware of, but once you get used to them, they can come in very handy to make your dashboard more interactive. There are so many ways to use bookmarks so I highly recommend you try it out and see what you can do. How do you like it? And do you use bookmarks for other uses?
By the way, this is the last blog post for the experiment dashboard I have been building throughout these blog posts:
How to create a dynamic metric selection for one visualization
How to create accumulative measures
How to create interactive growth rate calculation
(this blog): Use bookmarks to change visualizations
Using everything mentioned in the four blog posts, I created this one page dashboard that is highly interactive and quite complex, although for an end user, it will be very simple and intuitive. I always recommend reducing the number of pages you use for a dashboard and make the dashboard as straightforward and interactive as possible. The more intuitive it is, the less questions you will receive from end users. Check out the final one page dashboard here.
Comments