Si-Eff (Simple & Effective) Design Approach (Guest Blog Post)

The following in a guest blog post from Pradeep G Kumar.  Pradeep works as a data visualization designer in a popular firm based in Dubai and has been in love with Tableau since he started his career in 2018.   He has three top ten IronViz finishes (out of four) and won the 2019 Vizzie Award for Biggest Growth. He is passionate about discovering the essence of the data and transforming it into something insightful and beautiful through analytics and art.  Pradeep is an active participant in community-led projects including MakeoverMonday, ProjectHealthViz and IronQuest.  And although we’ve never met in person, I consider him a very good friend.  - Kevin

Last year, I published a viz created with the Sample Superstore dataset.  Many authors have published dashboards that visualized the Sample Superstore data and I wanted to do the same thing, but wished to create something NEW, UNIQUE, SIMPLE as well as EFFECTIVE. I published it last November and I was completely flattered by the incredible response.  As of when I wrote this blog post, the viz had over 31,000 views and nearly 600 favorites. The viz received Viz of the Day (VOTD) and is currently sitting as the sixth most favorited viz (in history) on Tableau Public (according to Josh Tapley’s Cerebro) and the fourth most favorited in 2019.  I was (and still am) completely surprised by the response. 

In this blog post, I am going to explain the simple and effective design approach that I utilized when building this viz and that I use when building business dashboards.  My goal is to explain how I built this from top to bottom while explaining aspects of design, analysis, storytelling, and inspiration.  I do not plan to show every single step, but to break down the key points in each section.  So let’s get started!

Color Scheme:
I wanted the colors to have a big impact on the audience, so I spent quite a bit of time choosing them.  After some time, I decided to go with a subtle single-color theme (Turquoise [#41b7c4]) to highlight key data points and a shade of gray ([#e6e6e6]) for the rest of my data points.  I chose these colors from an image of a beach, which is shown below.  

Viz Header:
The header is the first thing that people see - it has an immediate impact.  Because of this, I wished to create a unique header, which was a combination of header and data (an area chart of weekly sales).  I simply created an area chart then placed white text on top of that chart.  The result was a dual-purpose header showing information about the dashboard and providing data at the same time.  

Custom Shapes as Buttons and Headers:
At the top, I decided that I would allow users to filter by year.  Instead of using normal drop-down filters, I decided to use custom buttons and filter functionality using a dashboard action. Below is a breakdown of how you can create these shapes in PowerPoint yourself:

Open PowerPoint
Insert > Shape > Rectangle (Rounded corners)
Click on it and you will see one yellow circle; click it and drag it toward the center to make the rectangle more rounded
Format Shape > Shape Fill > White
Format Shape > Shape Outline > Gray
Shape Effects > Preset > Preset 2

Export the shape as PNG image by right clicking and choosing Save as Picture.  You would then simply add it to your Shapes repository for Tableau.  

To create the year filters in Tableau, I first placed the ‘Year(Order Date)’ field onto Columns and added Avg(0) onto Rows (I just typed that calculation inline – I didn’t create a specific calculation for it).  I changed the mark type to Shape and selected the custom shape (note that you may need to reload the shapes for it to show up).  I then dragged ‘Year(Order Date)’ onto the Text card to show the year as labels on each shape.  I also showed the zero line to connect the shapes.  Finally, I utilized a filter dashboard action to filter the data on all sheets. 

I used the same technique to create rest of the chart headers, but obviously did not employ any dashboard actions. 

Sales by Region:
Next, I decided to display the monthly trend of sales by region.  I opted to utilize area charts and callout both the minimum and maximum values over time. 

First, I created the area chart using the soft gray color I mentioned previously.  In order to show the minimum and maximum values, I created two calculations:

I then created a dual axis with sales on the first axis and measure values on the other (Min and Max as the measure values).  I changed the secondary axis to be a filled circle.  I placed measure names on color then changed the color of the max to be blue and the min to be dark gray.

Sales by States:
The sales by state map was also created using a dual axis chart.  I first created a simple filled map by state and used a sequential color palette. Since color can, at times, be tough to decipher, I decided to show a circle on a dual axis where size would represent sales as well. 

From here, I decided to add additional context by showing sales for the top 5 cities in each state via a viz in tooltip.  In another sheet, I created a bar chart using the Rank function and filtered the top five cities by state. 

I then added that sheet to the tooltip.

 The result is shown below. 

Sales by Category:
Next, I looked at sales by category and chose to utilize a simple bar chart.   I wanted to show the sum of sales and the percent of total.  To do this, I needed another dual axis chart.  You can do this using two bar charts, but I opted to use a bar chart and a Gantt chart.  I created a percent of total table calculation and placed that as a label on the Gantt chart.  I then placed the sum of sales on the bar chart and left aligned the text. 

Sales Trend by Category:
Next, I showed the sales trend by category.  I created a bar chart by month by category.  I then utilized the same min and max calculated fields (that I used with the area chart above) to show the minimum and maximum monthly sales values.  Again, similar to the area chart above, I used measure names and measure values to color these values.

Sales by Sub-Category:
In order to visualize sales by sub-category over time, I opted to create a heat map with a sequential color palette. I utilized circles, but squares could have been used as well.  The marginal histogram (a simple bar chart) showed the total sales by sub-category.   I simply used a horizontal container to position the sheets side by side and ensure alignment.

Sales by Segment:
Although it may not have been necessary, I decided to add a bit of variety to this visualization when creating the sales by segment chart.  I decided that I would use a rounded bar chart with a dual axis circle.  I labeled the circle with the sales value and the percent of total sales.  For more information on creating rounded bar charts, check out this video from Andy Kriebel. 

Sales by Top Manufacturer:
For sales by manufacturer, I opted to show the top ten using a bar chart.  In this case, I used a dual axis chart with a bar and a Gantt mark at Sum(0) to act as the axis ruler.  Sure, we could have simply set an axis ruler, but this technique provides a bit of variety. I also created a viz-in-tooltip showing top products which is similar to the one used in the map above. 

Detail Table:
As we know, some users want the numbers as well, so I decided to provide that information within a collapsible container (which were introduced in version 2019.2) rather than creating a separate dashboard. For more information on how to use collapsible containers and for dozens of use cases, please see the Cases for Collapsible Containers on  The first section walks through exactly how to use them (some of which I will cover below) and I suggest you read that quickly before continuing. 

First, I floated float a container on the top of the viz.  I then clicked the down arrow and chose to Add Show/Hide button.

When I did this, an X button appeared.  I clicked the down arrow on that button to bring up the following menu.  Here, I changed the buttons to ones that I created in PowerPoint. 

Now that the container was set, I created another sheet and built a simple table.  I won’t go into much detail here, but I made the background transparent and the text white. 

Now back on the dashboard, I tiled that table inside of my container.  I could have made the background of the container any color, but for the sake of the design, I set the background color to black (by selecting the container and going to the layout tab) and reduced the opacity to 70%.  When doing so, the background charts showed through slightly without distracting from the view of the table. The result looked like the following: 

Dashboard Actions:
Not only did I want this viz to be engaging, but I also wanted it to be useful and interactive.  To do so, I implemented a number of dashboard actions to filter and highlight throughout the viz.  This allowed users to drill down and filter by any chart in the dashboard.

Dynamic Number Format (K, M, B):
Knowing I would allow so many dashboard filters, I thought it was important to make the sales formatting dynamic so that the formatting of the number was easy to understand no matter how far a user drilled down.  I opted to use a calculated field from the The Tableau Book of Calcs (published by Sara Hamdoun and Fuad Hamed), to achieve this dynamic number formatting.  Based on the filters in play, numbers may show with no display unit, in thousands, in millions, etc.

The Result:
The result was, in my opinion, a beautiful viz with good analysis and ability to explore.  The full viz is shown below and you can go to the actual viz by clicking on the image.

Wrap Up:
In general, most of what I did utilized very simple chart types, but you will see that a little bit of extra time and a few small design techniques can really make a huge difference.  I hope this viz has shown people that even business dashboards can be beautiful. 😊

Thanks for reading.


Kevin Flerlage, April 13, 2020 | Twitter | LinkedIn | Tableau Public


  1. Great post, but I couldn't see the images in the explanation.It would be great if you can fix it for easy understanding.

    1. Thanks. Something weird is happening on our blogging platform, so we're working on it.

    2. This should be fixed. Our apologies.


Powered by Blogger.