As a part of initial viz for the application process, I worked on Airport passenger movement data from data.gov.au. After two weeks of my training in Data School, we recreated the same visualization with added learnings. In the process, I changed one of my stacked bar charts to Waffle Chart. Waffle chart is a 10 X 10 cell grid in which each cell represents 1 percentage point summing up to total 100%.

I am sharing the steps and process to create Waffle Chart in Tableau-

1. In the first step, you need to create an Excel spreadsheet with three columns with headings as Row, Column and Percentage respectively. Percentage Column contains percentages from 1 to 100. In Column, enter numbers from 1 to 10 repeated 10 times. In Row Column, enter numbers 1 to 10 each repeated 10 times as shown in images below. This file will help to create a template for making Waffle Chart in Tableau and it can be reused.

 

2. After creating the Excel file, you need to use it as a Secondary Data Source in Tableau without joining it with your Primary Data Source.

3. Open a new sheet and drag Row from Waffle data source to Rows shelf and Column to Column Shelf. Also, untick aggregate measures in Analysis Menu to show each value individually. Change the shape to square and increase the size to get the shape of a waffle.

4. Next, we need to create a calculated field in the primary data source to get a percentage of the required quantity to be displayed on the Waffle Chart. I used my international passenger’s percentage field.

5. Then we create another calculated field based on the earlier field in Waffle template sheet which will be used to colour the chart.

6. Finally, drag this calculated field to colour marks card to show the required measure in the Waffle Chart. You may change the shape from square to any other custom shape. Hide the headers and gridlines while formatting. Add percentages on the chart in annotations if required.

Here is my final Waffle Chart showing the Domestic and International Passengers % share for selected Airport.