Create an Embedded Navigation Bar Using Web Objects

Updated: Sep 29

Recently I had the pleasure of watching a demo by Zak Geis, a Tableau DataDev Ambassador, show how you can create an embedded Navigation Bar in Tableau. What I am referring to is the image below that you can find in his Tableau Public site here.


You can click on different text on the left and it will show you the embedded dashboard on the right using embedded web objects.


Benefits of Navigation Bars per Zak;

  • It's very simple to put together.

  • The advantage is it will create a clean user experience, and you will create something that users may be more used to visually.

  • It is better for dashboard performance. It will load one at a time and it will be faster.

  • It's better for team development. You could have three separate dashboards created by three different developers that can be combined together into one dashboard!

  • You can also deactivate views by placing your links on a shared drive so no need to update your published dashboard.

In the blog below I recap Zak's tips for creating the Navigation Bar.


Steps to Create a Navigation Bar


First you will need to have the links for four separate dashboards. You will need to use the View link for this exercise. I used four of my public dashboards; Parameter Actions, Set Actions, Dynamic Columns and Dynamic Filters.


You will need to paste links to these dashboards in an Excel document, in a column called URL. I also created another column Title. Last I created a column called Display and put Yes in this column.


Now you will need to add the below extension to the end of each link(URL) to hide the tool bars and be able to embed the dashboards;


?:embed=y&:showVizHome=no

*The "&:showVizHome=no" portion is because I am using Tableau Public links. This embed code will remove the Viz display from Tableau Public. You can remove this text, if your links are not in Tableau Public. I also had to remove "app/profile/dawn.harrington/viz/" from my Tableau Public URL link and replace it with "views/"


For more information about what the extensions mean, refer to this LINK.


Save this file and connect to it from Tableau Desktop.

Go to a new sheet in Tableau and place your Title column on the Rows shelf.

Also place the Title on the Text Marks card.

Then place the URL on the Detail Marks card.

Deselect Show Header on the Title on the Rows Marks card.

I expanded the view from Standard to Entire Height.

Your worksheet should appear as below;


I also adjusted my Tool Tip settings below;


Next I created a new dashboard in my workbook.

I put the navigation worksheet on the canvas. Then I moved the web page object next to it. On the Edit URL pop-up menu, I simply entered google.com. This will be changed later.



Tableau then will navigate to google.com in this web page object. You can see the Navigation Bar next to the webpage.



You will need to create a URL dashboard action in order to show the your web pages embedded for each item in the Navigation bar.


I went to the Dashboard menu and selected Actions.

I needed to select the Add Action button and then selected URL Action from the drop-down menu.


Here is how I configured the URL action;

I gave it a unique name and made the action run on Select.

I selected the URL to change in the Web Page Object which was displaying google.

I also inserted the URL field from Excel in the URL section.

I then clicked OK.


Now whenever I click on a field in the Navigation Bar, the view will change.

Here is an example when I click on the Parameter Actions option.


Removing the Blue Highlight


What if you wanted to get rid of that Blue Highlighting from this Navigation Bar?

You will need to create the following calculated fields to your workbook on the Navigation Bar sheet.


1

"1"


0

"0"


I placed both of these calculated fields on the Detail Marks card of the Navigation sheet.


Now back in the dashboard and I needed to add a new action.

I selected Highlight from the Add Action drop-down.

I configured this new Action as shown below;

Since 0 will never equal 1 the blue highlight will never occur for this navigation bar. I have seen others do a separate calculated field for "True" and then one for "False" and use it in this way.


Navigation Call Out


What if you wanted a way to put a circle next to the dashboard you are displaying?


Back on the Navigation sheet I created a Parameter called Selection using the Title column from my Excel spreadsheet;

(This prevents me from having to type every value in the list.)


Next I needed to create the following calculated field;


Selected Title

IIF([Selection]=Title,"●","")


This formula will display a circle if the parameter is selected. If it is not, it will not display anything.


I placed this calculated field on the Rows shelf, in front of the Title pill.

Then I placed another Title pill in front of this Selected Title pill so it wouldn't resort the selection every time.


Now in order to get the Dot to move for the selection, I needed to add a third action to my dashboard.


I selected Parameter Action from the Add Action drop-down and configured it as shown below;



The source field will be the Title field.

Now the dot will appear next to the item you select due to this Parameter action.

Lastly if there was a dashboard you no longer wanted to display. You could enter a "No" back in the Excel spreadsheet in the Display column.



You could then put this column on the Filters shelf in the Navigation sheet and have it only display the Yes fields. This will help your dashboard to be dynamic.


This dashboard is displayed here in my Tableau Public profile if you wish to view it.

302 views0 comments