I've had the opportunity to use dozens of tools during my career. Few products have impressed me as much as Tableau.
In this post I'm going answer the question, what exactly is Tableau? My secondary goal for this post is to give you the info you need to get started using the tool.
Let's get started.
Tableau is a publicly traded company which builds data visualization and analysis software for businesses. Tableau is used by companies as large as Adobe and Dell and boasts over 50,000 customers. Tableau's market cap at the time of publication was almost 9.5 billion dollars.
Tableau has 3 main products, Tableau Desktop, Tableau Online and Tableau Server. These products work together beautifully to provide the entire data visualization needs of the organization.
Tableau Desktop is the most relevant Tableau product for analysts. Tableau Desktop is the product you'll use to analyze your data and build your data visualizations.
I like to think of Tableau Desktop like Photoshop. It is a relatively large piece of software which you'll need to download onto your local computer in order to use it. Similar to how you'd use Photoshop to create psd files, you'll use Tableau Desktop to create workbook files (twb files).
You can find the download page for Tableau Desktop here.
One cool thing about Tableau Desktop is that you can download it and use it for free for 14 days.
Tableau recently changed their pricing so now Tableau Desktop is bundled with one Tableau Online license. The bundle costs $70 a month, paid upfront for the year.
A workbook is a container of one or more sheets, dashboards or stories that you'll create using Tableau Desktop.
A sheet is the most basic type of container. A dashboard is a special container which allows you to place one or more sheets, and accompanying filters and parameters, in a single view.
A story is a special type of container. A story allows you to place sheets or dashboards in a sequence, similar to how slides are arranged in PowerPoint. This allows you to "tell a story" with your sheets and dashboards.
Tableau Online and Tableau Server are both cloud-based services for hosting Tableau workbooks.
Both of these products make it easy for your analysts to share data visualizations with your entire organization. A single dashboard could be used by dozens of stakeholders, exponentially increasing the value of the dashboard.
If you want to use Tableau to help make your business more data-driven then you'll need to commit to using either Tableau Online or Tableau Server.
What differentiates Tableau Online from Tableau Server is the fact that Tableau Online is fully hosted by Tableau.
The major advantages of using Tableau Online over Tableau Server include:
The major disadvantages of using Tableau Online over Tableau Server include:
For early stage companies I'd suggest starting with Tableau Online.
This is the quicker and easy option and you can always migrate over to Tableau Server. More mature organizations that want to have control over their infrastructure, or plan to scale to hundreds of consumers, should use Tableau Server
Tableau uses a licensing model. This means that each individual that you'll want to access your dashboards, will need their own license.
At time of writing, Tableau had the following pricing:
The main difference between the explorer and viewer licenses is the explorer license allows for more viewing options and self-service analytics.
Learn more about Tableau's pricing here.
Tableau Public is a free hosting service by Tableau. It works similar to Tableau Online but everything you publish to your Tableau Public account is publicly accessible. It is a great service for sharing your Tableau creations with the world.
You can see an example of a Tableau Public profile here. Check out the Tableau dashboard I published to show my readers how to visualize content analytics using Google Analytics and Tableau.
This section of the post will provide you with the knowledge you need to get started with Tableau. I will focus mainly on Tableau Desktop since this is the most important product to know as an analyst.
Before we jump in I've provided a list of my top recommended resources for learning Tableau. Use this list in addition to this guide to master the basics of Tableau. Note that some of the links below are affiliate links.
The process of building a dashboard in Tableau can be broken down into the following steps:
I'm going to go through each of these steps in detail. Feel free to download Tableau and follow along.
This step is self explanatory. You want to understand the goals of any project before you get started. Building a Tableau dashboard is like any project, and should have the following components:
Once you have your goals listed, the next step is to map out your dashboard. The idea here is to get a general idea of the different sections and functionality of your dashboard.
If you're new to Tableau then start with a very basic layout of 1 or 2 views with limited functionality and over time you will be able to get more creative.
Below is a template which you can use to make your life easier.
This part of the project could take a day or even longer, depending on the scope of the project and the availability of your consumers. You will want to involve them in this process since they will be using the dashboard.
My advice would be to start with a minimal scope so that you can roll something out quickly and focus on adoption. You don't want to spend weeks building views that no one uses.
The first major step to getting started in Tableau is connecting to a data source.
At time of publication Tableau supported an impressive list of data sources including:
Tableau also supports the following file formats which can be loaded into Tableau Desktop straight from your computer:
Tableau also allows users to connect directly to a Tableau Online or Tableau Server account in order to leverage data sources that you've published to the cloud.
If you want to connect to a data source which doesn't appear in the list above then check out the Web Data Connector.
Below is an example of the connection screen for the MySQL data source.
Once you've successfully connected to your data source you'll be taken to the "Data Source" screen. It is in this screen where you will construct your data set.
Depending on the type of data source you've connected to, you'll see a list of tables in the left hand menu. You can simply drag and drop the relevant tables into the open section towards the top of the screen.
If you only want to take specific data from one or more tables in your database, you can write a custom query. To perform this action simply drag the "New Custom SQL" option into the open area and write your query.
On the "data source" screen you can also preview your data, add filters, hide certain columns and create unions.
One of the most powerful features in Tableau is the ability to join multiple data sources to each other. This allows you to combine data from multiple data silos.
To add an entirely new data source to your data set, simply click on the "Add" button towards the top of the screen on the left hand side.
Once you've added the second data source, you can drag tables from that source into the area where you are building the data source.
Joining numerous tables together in Tableau is very easy. Each time you drag an additional table into the building area Tableau will attempt to join the new table with the most relevant field in one of the existing tables.
In the example below Tableau identified Anonymous Id as the likely field to perform the join. To reconfigure this join all you need to do is click on the join, pick the join type, and change the fields listed between the tables.
Some tips for building data sets in Tableau:
Now that you've built your data set it's time to work out if you'll need to use a live connection or an extract.
There are pros and cons to each of these modes. I've generally always favored extracts over live connections because of the speed benefits. With a live connection you're querying your data sources directly, in real time. It can take minutes for certain queries to run and it can get very frustrating very quickly.
You'll want to use live mode if you need real-time or close to real-time data. From my experience that is very rarely the case.
If you use an extract, Tableau will download a copy of the data set onto your local computer and use it while you build your dashboard. This extract can then be published to the cloud and an automatic refresh can be set.
The big disadvantage of this approach is that it can burn a lot of time having to download large data sets onto your computer. This can be particularly painful if you're in a country with poor Internet.
My advice would be to work on extract mode unless your dashboard requires up-to-date data.
Before you go any further I'd recommend that you stop and save your workbook. Tableau has a great auto-recovery feature which has saved my ass more times than I'd like to admit, but don't rely on it.
Now that you've built your data source click on "Sheet 1" at the bottom of the screen. This will take you to the sheet screen. This is the screen where you will build your first data visualization.
This screen has a few key sections. The first is the dimension and measures sections on the far left. This is where all the fields that you've added to your data set can be accessed.
The simplest way to understand the difference between dimensions and measures is measures are numerical fields. There are times when Tableau identifies numerical ids as dimensions. You'll see that there aren't any issues when this happens.
In my screenshot above I've highlighted the section where you'll build the data visualization.
When I first start working on a project I like to spend some time exploring the data I've brought into the workbook.
The first thing I'll typically check is the number of records. You can do this easily in Tableau by dragging the "Number of records" field into the middle section of the sheets page. This field is created automatically by Tableau Desktop. See the example below.
The reason I do this is to get a sense of the scale of the data in my data set. If the number seems way too low then perhaps I connected to the wrong database. If it is too large then perhaps I have duplicates because of a bad join or a data issue.
The next thing I'll typically look at is a breakdown of my data by some key dimensions. This is a good habit to form because after you've create a few sheets you'll have a better picture of your data.
After you build your data set you want to have an image in your mind of what that data set should look like. You may end up with something on the lines of "I expect to see a single row per user with a bunch of fields holding properties about these users".
A great check to help you determine if you have the data set that you've imagined is the count vs. distinct count check.
This check compares the count of your primary id against a distinct count of that id. If you do in fact have one row per primary id then the distinct count and regular count will be the same. If there is a difference it means you have duplicates.
As you can see in my example, my data set has duplicates of my primary id, event id.
Another common check I run is a distinct count of the primary id by the main date dimension. In the case of user signups that would most likely be the signup date, as an example.
The reason this check is important is because even though you may not have duplicates or any other data issues, your data might have stopped being collected at a certain point. This check will also help you see if there were any major drops in the volume of your data in a certain time period.
Once you're confident your data is clean, and in the structure you wanted, you can move onto a new sheet and start building.
I suggest holding onto your initial check sheets in case you need to change the data set and rerun your checks. Color code these check sheets in brown so you can easily identify them as check sheets.
One of the funnest parts of using Tableau is creating new calculated fields. You'll need to create calculated fields to fill in gaps in your data set, and in order to build complex views and functionality.
Lets say you have a data set of projects.
In this data set you have start time and end time of each project but you're missing a "duration" field. You want to add a filter to your dashboard which allows consumers to filter out projects based on duration but you're missing this field. So what do you do? The solution is to create a duration field using the "datediff" Tableau function.
The calculated field would have the following function:
datediff('day', [Start Date], [End Date])
This function would return the number of days between the start date and end date, in other words the duration of the project.
Tableau has a lot of built-in functions which are incredibly powerful.
Below is a list of the most commonly used functions. If you want to become an expert at Tableau you'll need to learn these functions.
Even though there are many other functions available, the list above is what you'll be using 95% of the time.
For a full list of the functions in Tableau check out this useful support page.
Parameters are special fields which allow for manual inputs from dashboard users. An example would be a drop down menu where the user can select the type of report to display. Another example would be a search box where the user could enter a name of a product or feature.
To create a parameter right click in the left hand section and select "Create Parameter".
When you create a parameter you will need to decide on the data type, default value and if you allow all possible values, a range of values or a specific list of values.
Below is an example of a parameter with a list of string values. This parameter could be used by my consumers to switch between the different report types in my dashboard.
Parameters are great for adding additional functionality to dashboards. As a general rule you should try and make your dashboard as user-friendly as possible. I like to build "toolbox" type visuals which make it easy for users to answer a wide range of questions with minimal effort.
Dynamic selector fields are calculated fields which include parameters. The idea behind these calculated fields is to change a value based on the option selected in a parameter.
Let's look at an example.
Let's say we have the parameter shown below. This parameter will allow the user to switch the date grouping of a certain view based on the option selected in the parameter.
In order to leverage this parameter in my data viz I'll need to create a calculated field which uses the parameter in its' logic.
My calculated field would look something like the formula below:
In this formula I'm using the IF function to change the date grouping based on the current value in the parameter.
You can be very creative when you combine parameters and calculated fields. Once you master these two types of fields in Tableau an entire world of possibilities opens up to you.
Now that you have all the fields you need you can get started building your visualizations.
Tableau has 24 unique data visualization types. The most commonly used visualization types include:
To start building your viz simply drag relevant dimension fields onto the columns and rows sections. This will give you a pivot-like table, similar to a pivot table in Excel.
The last step is to drag a measure onto the marks section and to select a calculation (sum, count, distinct count, etc).
To switch the type of visualization click on the "Show Me" button in the top right hand corner of the screen and select a viz type.
It can be a bit tricky to go from a table to other types of visualization. Take your time and try and understand what each viz type requires in terms of dimensions and measures.
After building a number of visualizations in separate sheets you'll want to bring everything together. To do this you'll use a different type of sheet, either a dashboard or a story.
A dashboard is a container of sheets and allows you to place multiple sheets in a single view. A story is a container that holds sheets or dashboards in a series, similar to how PowerPoint has slides.
To create a dashboard click on the dashboard menu at the top of the screen and select "New Dashboard".
The dashboard has 4 main sections that you need to be familiar with.
The first is the size setting.
As a general rule you'll want to either go with the default setting or the automatic setting. The advantage of automatic is that it will force the dashboard to resize based on the resolution of the screen showing the dashboard. The disadvantage is that this slows the loading time of the dashboard.
The default view will fit nicely for most resolutions and should be the one you use most often, unless you get a lot of complaints.
The next section is the sheets list. This section is similar to the dimensions and measures screens we've come across earlier in this post. You can simply drag the relevant sheets onto the section in the middle and start building your dashboard.
Note that each time you add a new sheet to the section in the middle, all the legends, and filters shown in the sheet will be added to the view. You'll want to remove any unnecessary elements which get added to the dashboard.
The last section is the objects section in the bottom left hand corner. This section holds special objects which can be used in the dashboard. These include containers (vertical, horizontal and blank) which are critical for building the layout of the dashboard. Image and text containers are useful for adding additional content to the dashboard.
Keep in mind that building out the layout of your dashboard can be tricky.
Depending on the scope of your project, and the number of data vizs, you might want to consider putting everything into a Story.
We're almost at the end of our project but before we can hand it over to our consumers we need to beautify our dashboard.
Tableau has put a ton of effort into making as many elements of your visuals customizable. You can change all your fonts, borders, alignment and many other design aspects quickly and easily.
Your dashboard is now ready to be published and shared with your consumers.
Before you jump the gun spend some time using the dashboard. I'd also suggest getting someone who hasn't yet seen the dashboard to give it some love.
The goal is to try and identify any issues before you ship it. Your consumers will expect to be able to use the dashboard for decision making purposes once they get their hands on it. Limit any fallout by letting them know that since the dashboard is new, there still might be some minor issues with it.
Below is a checklist of things to go over before you publish your dashboard:
Once you've gone through this list and everything looks great, you can move onto the last step in the process, publishing your dashboard.
To publish your dashboard to the cloud, you'll need to click on "Server" in the top menu and then on "Publish Workbook...".
On the next screen you'll select either Tableau Online or Tableau Server and log in.
Once you've logged in, a window with a bunch of options will appear. Below is a list of these options and what each one means.
Note that every sheet you create in the workbook will be published to the cloud. Only the sheets checked in the sheets drop down menu will be visible when the workbook is loaded in Tableau Online or Tableau Server.
That's it, congrats on finishing your first Tableau dashboard.
Tableau is an amazing company with best-in-class products. I've used Tableau for a few years now and actively promote it to my clients.
I estimate that it will take the average analyst roughly 100 hours to learn Tableau to the point where they feel confident with the tool. Thankfully you can download Tableau Desktop for free and use it without any limits for 14 days.
There are a number of great courses and free training resources that can help you start building awesome dashboards in no time.
I hope this guide has helped you get a basic idea of what Tableau is all about. If you have any questions on Tableau, feel free to comment below and I'll do my best to answer you.
Thanks for reading.