Create Rounded Bar Charts in Tableau

Part 1: How to Make Rounded Bar Charts in Tableau

In this post you’re getting two videos for the price of one (considering they’re all free for now, that’s a good thing). I put together a relatively simple dashboard to help illustrate a few intermediate level concepts. In this first video I take a look at the number of total assists by NBA players during the 2017-2018 season. In case you were wondering, Russell Westbrook led the league in assists during that season. If you don’t know who Russell Westbrook is, then skip this Tableau stuff and watch the last video immediately (and then come back to the Tableau stuff).

In the first Tableau dashboard video, you’ll learn two concepts:

  • How to make rounded bar charts;
  • How to filter the number of bar chart marks via use of a parameter;

Part 2: Apply Custom Sorting in Tableau

In the second video I build upon the dashboard built in the first video by showing you how to add a custom sort. The custom sort relies upon the creation of a parameter and a calculated field. The parameter and calculated field enable the user to select either a dimension (e.g., Player Name) or a measure (e.g., sum of assists) from a drop down box and the visualization will sort ascending or descending as requested.

The calculated field relies upon the RANK_UNIQUE function.

In this context, RANK_UNIQUE returns the unique rank of each player’s assist total. The key with RANK_UNIQUE is that identical values are assigned different ranks. As an example, the set of values (6, 9, 9, 14) would be ranked (4, 2, 3, 1), as no tied rankings are allowed.

Part 3: Interact with the Dashboard

Bonus: Russell Westbrook on the Attack

For those of you who do not know who Russell Westbrook is, I’ve got you covered. These aren’t assists but in these situations, he didn’t need to pass!

References:

Thanks to both the Tableau Magic blog for outlining the concept of rounded bar charts and the VizJockey blog for the custom sort methodology. Check out and support these  blogs!

As always, do great things with your data!

If you find this type of instruction valuable make sure to subscribe to my Youtube channel.

Advertisements

The Ultimate Tableau Slope Graph Video

In this video I tackle the subject of slope graphs also known as slope charts. I had some fun putting together this dashboard that illustrates the changes in wins for NBA teams during the 2016-2017 and 2017-2018 seasons. From the video you’ll discover that Chicago, Atlanta and Memphis are on a Hindenburg-like trajectory, while trusting the process in Philadelphia led to huge season gains in overall wins.

Here’s what you will learn from this video:

  • How to create a parameter that enables a user to select which win statistic measure to visualize;
  • How to use Table calculations like, LOOKUP(), FIRST() and LAST() to calculate period over period change;
  • How the impact of Mike Conley’s injury affected the Memphis Grizzlies last season;

Click the pic to interact with the Tableau Public visualization, also download the workbook and data to dissect as needed.

For your convenience the calculated fields that I used to create the measures are listed here. Note that [Selected Measure] is a parameter that you need to create that lists all of the measures.

Calc Select Measure
CASE [Selected Measure]
WHEN “Home Losses” Then [Home Losses]
WHEN “Home Wins” Then [Home Wins]
WHEN “Overall Losses” Then [Overall Losses]
WHEN “Overall Wins” Then [Overall Wins]
WHEN “Road Losses” Then [Road Losses]
WHEN “Road Wins” Then [Road Wins]
WHEN “vs East Conf Losses” Then [vs East Conf Losses]
WHEN “vs East Conf Wins” Then [vs East Conf Wins]
WHEN “vs West Conf Losses” Then [vs West Conf Losses]
WHEN “vs West Conf Wins” Then [vs West Conf Wins]

END
Better or Worse
IF [Selected Measure] = “Home Wins” OR
[Selected Measure] = “Overall Wins” OR
[Selected Measure] = “Road Wins” OR
[Selected Measure] = “vs East Conf Wins” OR
[Selected Measure] = “vs West Conf Wins”
THEN
//WIN MEASURES: Negative delta treated as “WORSE”, Positive delta treated as “BETTER”
(IF [Delta] < 0 THEN “WORSE” ELSEIF [Delta] = 0 THEN “SAME” ELSE “BETTER” END)
ELSE
//LOSS MEASURES: Positive delta treated as “WORSE” (more losses are worse), Negative delta treated as “BETTER”
(IF [Delta] > 0 THEN “WORSE” ELSEIF [Delta] = 0 THEN “SAME” ELSE “BETTER” END)
END
Delta
LOOKUP(SUM([Calc Select Measure]),LAST()) – LOOKUP(SUM([Calc Select Measure]),FIRST())
Delta ABS Value
ABS(LOOKUP(SUM([Calc Select Measure]),LAST()) – LOOKUP(SUM([Calc Select Measure]),FIRST()))
ToolTip
<Team> Trend: <AGG(Better or Worse)> by <AGG(Delta ABS Value)>
During the <Season> Season, the <Team> had <SUM(Calc Select Measure)> <Parameters.Selected Measure>.

I have to give thanks to Ben Jones at the Data Remixed blog for the inspiration!

As always, If you find this type of instruction valuable make sure to subscribe to my Youtube channel.

How to Compare Actuals vs. Forecast in Tableau

 

Forecasting in Tableau uses a technique known as exponential smoothing. This where an algorithm tries to find a regular pattern in your data that can be continued into the future.

In this video I’ll share some helpful tips to help you determine which options you should select that will enable Tableau to make the most predictive forecast for your data. By the end of the video you will be able to differentiate between an additive and multiplicative data pattern and to evaluate MASE to measure the accuracy of the forecast.

I’m not talking about this Mase:

Harlem World

Rather, you’ll learn about the mean absolute scaled error (i.e., MASE) and how it helps you judge the quality of the model.

In addition, you’ll also also learn how to compare your actual data to the Tableau forecast in order to judge if the model is doing its job.

If you’ve used the forecasting capabilities in Tableau without knowing about these concepts, you might have generated an inaccurate error riddled forecast. Don’t just set a forecast and forget it. Watch this video and generate better forecasts in Tableau!

Here is additional reading from Tableau on the forecast descriptions (including MASE).

As always, If you find this type of instruction valuable make sure to subscribe to my Youtube channel.

 

Row and Column Highlighting in Tableau

In this post you’ll learn how to highlight values in your Tableau table using set actions. The dashboard in this video displays the number of total points scored by NBA teams by position in the 2017-2018 season. I will give you step by step instructions on how to implement row and column highlighting on this dataset downloaded from basketballreference.com.

I’ve only made a few minor tweaks but this technique was developed by Tableau Zen Master Matt Chambers. You can check out his blog at sirvizalot.com and follow him at Big shout out to Matt for sharing this technique with the Tableau community!

You can interact with my visualization on Tableau Public:

If you find this type of instruction valuable make sure to subscribe to my Youtube channel!

Make Flashy Maps in Tableau with Mapbox

The default maps in Tableau are just fine but sometimes you need to kick up the flamboyancy factor in your visuals. Integrating maps from Mapbox with Tableau is the perfect way to add some Liberace flash to your development game.

Mapbox is an open source mapping platform for custom designed maps.  By creating an account with Mapbox, you can either design your own maps on the platform or use their preset maps, which are all more impressive than the out of the box option in Tableau.

All you need to do is enter your generated API token (provided by Mapbox) into Tableau’s Map Services interface and you’ll have access to some pretty impressive mapping options.

If you’re interested in Business Intelligence & Tableau subscribe to my  Youtube channel.

 

 

The Dos and Don’ts of Designing Efficient Tableau Dashboards

This following is a guest post contributed by Perceptive Analytics.

A dashboard is to a user what an assistant is to a boss. While an assistant helps manage multiple tasks for a boss, a dashboard helps manage multiple data sources for a user. Insights are only as good as the underlying data and dashboards are an excellent medium to provide those insights.

Dashboards provide “at-a-glance” views of key metrics which are relevant for business users to perform their tasks effectively. In other words, dashboards are an interactive form of reporting which provides users with consolidated views of different metrics to make impactful, data-driven decisions. A dashboard should speak on the creator’s behalf, acting as an expert providing actionable insights to its users. The dashboard should be self-sufficient when it comes to answering the question, “what can my data tell me?”

There are a plethora of tools available in the market for creating dashboards. However, a badly designed dashboard or incompatible (or wrong) tool can lead to hundreds of thousands of dollars in investment losses when accounting for inefficient time and effort spent by development and analysis teams. It becomes imperative for an organization to choose the right tool and have a step by step approach for dashboard development.

Currently, one of the top business intelligence tools available in the market is Tableau. It is used to create interactive dashboards for users. Tableau has been named a ‘Leader’ in the Gartner Magic Quadrant for six straight years in a row (Source – Tableau.com).

In this post, we will highlight a few best practices that you should follow when developing your Tableau dashboard. We will also talk about some of the pitfalls you should avoid while creating a Tableau dashboard.

We’ll divide the best practices into three different stages of dashboard development.

  1. Pre-Development: Ideation and Conceptualization
  2. Development
  3. Post Development: Maintenance

Ideation and Conceptualization

During the conceptualization and ideation stage, there are a few aspects that one should consider before starting to develop a dashboard.

1. Goal

Understand clearly why you are creating the dashboard in the first place. What is the end objective that you want to achieve via this dashboard? Is it automating a reporting process at month-end? Is it providing a better visualization to a complex calculation created in another platform?

Having a clear understanding of your dashboarding goal or objective keeps you focused and on the right track.

2. Audience

Keep in mind that your audience is a key part of creating a purposeful, impactful dashboard. The dashboard used by the CEO or other members of the C-suite will be very different from the dashboard used by business unit heads, which in turn will be very different from the dashboards used by branch managers. Thus, you need to consider who will use your dashboard and how will it be used?

For instance, a CEO is interested in key metrics at an overall organizational level like the overall financial and operational heath of the company. On the other hand, a procurement manager would be interested in the amount of material being procured from different vendors and their respective procurement costs. Having a GOAL in mind before development is essential because it helps identify the end user of the dashboard.

3. Key Performance Indicators (KPIs)

After thoroughly understanding the various stakeholder requirements, it is important to develop a list of KPIs for each user and/or department. Having the stakeholders sign-off on dashboard KPIs substantially reduces development and re-work time.

4. Data Sources

After achieving sign-off on KPIs, inventory the various data sources that are required for development. This step is important because each data source can potentially increase complexity and computing costs required to calculate the KPIs. It’s always better to only connect those data sources which contain relevant data.

5. Infrastructure

Storage and computation requirements should be taken into consideration commensurate with the dashboard’s degree of data volume and complexity. Having a right-sized backend infrastructure will improve dashboard performance considerably. Also, it is essential to understand the dashboard’s update frequency. Will the data be refreshed once a day? Is it going to be real-time? Having the answer to these questions will help generate infrastructure requirements that will prevent performance issues down the road.

Development

Once you have identified what needs to be presented on the dashboard and set up the infrastructure, it’s time to move to the second phase of dashboard development.

The following items should be considered during the development phase.

6. Design

Design is an important part of overall dashboard development. You should be very selective with the colors, fonts and font sizes that you employ. There is no rule book that establishes the right color or the right font for dashboard design; in our opinion, one should design with the company’s coloring scheme in mind.

This is a safe bet as it keeps the company’s brand identity intact, especially if the dashboard is accessible to external parties. Fonts should not be very light in color and the charts should not be very bright. Having a subtle color scheme that incorporates the brand’s identity resonates well with internal and external parties.

7. Visualization Impact

Identify the right type of visualization to create an impactful first glance for the users. Certain types of data points are better represented by certain types of visualizations. For instance, time trend analysis is usually represented on a line graph. A comparison of the same metric across different business lines are presented well via a heat map. Consider a sales dashboard where revenue and cost numbers for the current year should be presented as standalone numbers with a larger font size, while the historical trend analysis should be placed below.

8. Captions and Comments

Tableau provides users’ with the functionality to add captions and comments to visualizations. Bear in mind that you won’t be around all the time to explain what the different charts in the dashboard represent. Therefore, add relevant descriptions, comments and/or captions wherever it can be useful for the viewer.

Post Development: Maintenance

Once you have created the dashboard, there are additional aspects you should consider for effective and smooth dashboard operation.

9. Robust Testing

After creating the dashboard, conduct robust testing of the entire platform. Testing helps identify any bugs and deployment errors which if not rectified can lead to system failure or erratic results at a later stage.

10. Maintenance

This is the most ignored phase in the dashboard development lifecycle but it is a crucial phase. Once you have created a dashboard, proper maintenance should be conducted in terms of software updates, connections to databases and infrastructure requirements. If the volume of data increases at a fast pace, you will need to upgrade the storage and computing infrastructure accordingly so that the system doesn’t crash or become prohibitively slow.

Avoid the Following

Up to this point we have highlighted some of the best practices to consider while creating a dashboard. Now, let’s broach the aspects you should avoid while creating a dashboard.

1. Starting with a Complex Dashboard

Remember that creating a dashboard is a phased approach. Trying to develop an overly complicated dashboard in one phase may complicate things and led to project failure. The ideal approach is to inventory and prioritize all requirements and proceed with a phased approach. Start development with the highest priority requirements or KPIs and gradually move to the lower priority KPIs in subsequent phases.

2. Placing Too Many KPIs on a Single Chart

Although Tableau has the capability to handle multiple measures and dimensions in a single chart, you should be judicious while choosing the dimensions and measures you want to present in a single graph. For instance, placing revenue, expenses and profit margins in a single chart may be of value; while placing revenue and vendor details in the same chart may not be as valuable.

3. Allocating Too Little Time to Deployment and Maintenance

The appropriate amount of time, budget and resources should be allocated to each constituent phase of the deployment cycle (i.e., KPI identification, dashboard development, testing and maintenance).

We are sure that after reading this post, you have a better idea regarding what practices should be considered while developing a Tableau dashboard. The principles offered here are from a high level perspective. There may be other project nuances to consider in your specific endeavors. We would be happy to hear your thoughts and the best practices that you follow while creating a Tableau dashboard.

Author Bio

This article was contributed by Perceptive Analytics. Prudhvi Sai Ram, Saneesh Veetil and Chaitanya Sagar contributed to this article.

Perceptive Analytics provides Tableau Consulting, data analytics, business intelligence and reporting services to e-commerce, retail, healthcare and pharmaceutical industries. Our client roster includes Fortune 500 and NYSE listed companies in the USA and India.

Yet Another Market Basket Analysis in Tableau

This video represents part two in my Market Basket Analysis series.

The steps in the post were inspired by the book Tableau Unlimited written by former co-worker of mine, Chandraish Sinha. I wasn’t planning to construct another market basket analysis video but when I saw the approach outlined in his book, I felt like it warranted sharing with my readers and followers.

In this version we’ll use default Tableau Superstore data to show the relationship between sub-categories on an Order; all without using a self table join. The visualization and analysis is driven by a user selection parameter.

Once the user selects a sub-category, the bar chart visualization updates to reflect the number of associated sub-category items on the same order.

Sample Superstore Data 2

Watch the video and as always get out there and do some great things with your data!

Feel free to also check out Part 1 here where we create a simpler correlation matrix version that shows all the sub-category relationships in one visual.