Create a Hex Map in Tableau without Data Blending

I love hex maps, plain and simple. They look great and are a good solution to the problems created by representing a measure using the land mass of a state. There’s been solutions shown by a veritable who’s who of Tableau leaders. My method uses the excel workbook from Matt Chambers’ post. All of these methods rely on blending with an excel table which specifies the location of the map tiles. It works well in most every situation, but why not just integrate it in the data using a calculated field? The following steps will allow you to create a hex map without using Data Blending.

Step 1: Create the Calculated Fields

Create a calculated field named Row using the State field.

CASE [State]
WHEN 'Alabama' THEN 6
WHEN 'Alaska' THEN 0
WHEN 'Arizona' THEN 5
WHEN 'Arkansas' THEN 5
WHEN 'California' THEN 5
WHEN 'Colorado' THEN 4
WHEN 'Connecticut' THEN 3
WHEN 'Delaware' THEN 4
WHEN 'District of Columbia' THEN 5
WHEN 'Florida' THEN 8
WHEN 'Georgia' THEN 7
WHEN 'Hawaii' THEN 8
WHEN 'Idaho' THEN 3
WHEN 'Illinois' THEN 3
WHEN 'Indiana' THEN 3
WHEN 'Iowa' THEN 3
WHEN 'Kansas' THEN 5
WHEN 'Kentucky' THEN 4
WHEN 'Louisiana' THEN 6
WHEN 'Maine' THEN 0
WHEN 'Maryland' THEN 4
WHEN 'Massachusetts' THEN 2
WHEN 'Michigan' THEN 2
WHEN 'Minnesota' THEN 2
WHEN 'Mississippi' THEN 6
WHEN 'Missouri' THEN 4
WHEN 'Montana' THEN 2
WHEN 'Nebraska' THEN 4
WHEN 'Nevada' THEN 4
WHEN 'New Hampshire' THEN 1
WHEN 'New Jersey' THEN 3
WHEN 'New Mexico' THEN 6
WHEN 'New York' THEN 2
WHEN 'North Carolina' THEN 5
WHEN 'North Dakota' THEN 2
WHEN 'Ohio' THEN 3
WHEN 'Oklahoma' THEN 6
WHEN 'Oregon' THEN 4
WHEN 'Pennsylvania' THEN 3
WHEN 'Rhode Island' THEN 2
WHEN 'South Carolina' THEN 6
WHEN 'South Dakota' THEN 3
WHEN 'Tennessee' THEN 5
WHEN 'Texas' THEN 7
WHEN 'Utah' THEN 5
WHEN 'Vermont' THEN 1
WHEN 'Virginia' THEN 5
WHEN 'Washington' THEN 2
WHEN 'West Virginia' THEN 4
WHEN 'Wisconsin' THEN 2
WHEN 'Wyoming' THEN 3
END

Create a calculated field named Column using the following formula

CASE [State]
WHEN 'Alabama' THEN 7.5
WHEN 'Alaska' THEN 0.5
WHEN 'Arizona' THEN 3
WHEN 'Arkansas' THEN 6
WHEN 'California' THEN 2
WHEN 'Colorado' THEN 3.5
WHEN 'Connecticut' THEN 11
WHEN 'Delaware' THEN 9.5
WHEN 'District of Columbia' THEN 12
WHEN 'Florida' THEN 8.5
WHEN 'Georgia' THEN 8
WHEN 'Hawaii' THEN 0.5
WHEN 'Idaho' THEN 2
WHEN 'Illinois' THEN 6
WHEN 'Indiana' THEN 7
WHEN 'Iowa' THEN 5
WHEN 'Kansas' THEN 5
WHEN 'Kentucky' THEN 6.5
WHEN 'Louisiana' THEN 5.5
WHEN 'Maine' THEN 11.5
WHEN 'Maryland' THEN 8.5
WHEN 'Massachusetts' THEN 10.5
WHEN 'Michigan' THEN 7.5
WHEN 'Minnesota' THEN 4.5
WHEN 'Mississippi' THEN 6.5
WHEN 'Missouri' THEN 5.5
WHEN 'Montana' THEN 2.5
WHEN 'Nebraska' THEN 4.5
WHEN 'Nevada' THEN 2.5
WHEN 'New Hampshire' THEN 11
WHEN 'New Jersey' THEN 10
WHEN 'New Mexico' THEN 3.5
WHEN 'New York' THEN 9.5
WHEN 'North Carolina' THEN 9
WHEN 'North Dakota' THEN 3.5
WHEN 'Ohio' THEN 8
WHEN 'Oklahoma' THEN 4.5
WHEN 'Oregon' THEN 1.5
WHEN 'Pennsylvania' THEN 9
WHEN 'Rhode Island' THEN 11.5
WHEN 'South Carolina' THEN 8.5
WHEN 'South Dakota' THEN 4
WHEN 'Tennessee' THEN 7
WHEN 'Texas' THEN 4
WHEN 'Utah' THEN 4
WHEN 'Vermont' THEN 10
WHEN 'Virginia' THEN 8
WHEN 'Washington' THEN 1.5
WHEN 'West Virginia' THEN 7.5
WHEN 'Wisconsin' THEN 5.5
WHEN 'Wyoming' THEN 3
END

Create a calculated field named State – Abbreviation using the following formula

CASE [State]
WHEN 'Alabama' THEN 'AL'
WHEN 'Alaska' THEN 'AK'
WHEN 'Arizona' THEN 'AZ'
WHEN 'Arkansas' THEN 'AR'
WHEN 'California' THEN 'CA'
WHEN 'Colorado' THEN 'CO'
WHEN 'Connecticut' THEN 'CT'
WHEN 'Delaware' THEN 'DE'
WHEN 'District of Columbia' THEN 'DC'
WHEN 'Florida' THEN 'FL'
WHEN 'Georgia' THEN 'GA'
WHEN 'Hawaii' THEN 'HI'
WHEN 'Idaho' THEN 'ID'
WHEN 'Illinois' THEN 'IL'
WHEN 'Indiana' THEN 'IN'
WHEN 'Iowa' THEN 'IA'
WHEN 'Kansas' THEN 'KS'
WHEN 'Kentucky' THEN 'KY'
WHEN 'Louisiana' THEN 'LA'
WHEN 'Maine' THEN 'ME'
WHEN 'Maryland' THEN 'MD'
WHEN 'Massachusetts' THEN 'MA'
WHEN 'Michigan' THEN 'MI'
WHEN 'Minnesota' THEN 'MN'
WHEN 'Mississippi' THEN 'MS'
WHEN 'Missouri' THEN 'MO'
WHEN 'Montana' THEN 'MT'
WHEN 'Nebraska' THEN 'NE'
WHEN 'Nevada' THEN 'NV'
WHEN 'New Hampshire' THEN 'NH'
WHEN 'New Jersey' THEN 'NJ'
WHEN 'New Mexico' THEN 'NM'
WHEN 'New York' THEN 'NY'
WHEN 'North Carolina' THEN 'NC'
WHEN 'North Dakota' THEN 'ND'
WHEN 'Ohio' THEN 'OH'
WHEN 'Oklahoma' THEN 'OK'
WHEN 'Oregon' THEN 'OR'
WHEN 'Pennsylvania' THEN 'PA'
WHEN 'Rhode Island' THEN 'RI'
WHEN 'South Carolina' THEN 'SC'
WHEN 'South Dakota' THEN 'SD'
WHEN 'Tennessee' THEN 'TN'
WHEN 'Texas' THEN 'TX'
WHEN 'Utah' THEN 'UT'
WHEN 'Vermont' THEN 'VT'
WHEN 'Virginia' THEN 'VA'
WHEN 'Washington' THEN 'WA'
WHEN 'West Virginia' THEN 'WV'
WHEN 'Wisconsin' THEN 'WI'
WHEN 'Wyoming' THEN 'WY'
END

Step 2: Build the Map

Place Row on the rows shelf and change it to a continuous dimension.

Reverse the Row Axis

Place Column on the Columns shelf and change it to a Continuous Dimension

Load the custom hex map shape. Check out Matt’s post for where to get the shapes and how to load it.

Place State – Abbreviation on label

Select the option to allow the label to overlap other marks.

Set alignment to Middle Center

Set the label color to contrast the symbol color.

Hide the Column and Row headers.

Select the sheet formatting options to Format Lines and select None for the Sheet’s Grid and Zero Lines.

Create a Dashboard and add the Hex Map sheet to it.

Check it out!

Comments are closed.