Build Census Tract Map in Tableau

How to build census tract map in Tableau?

Since census tract is not a built-in geographic role in Tableau, I am googling about how to do that.

According to Tableau official tutorial on polygon maps, you need multiple (x,y) points to define a polygon to represent an area. So that’s time-consuming unless we can find polygon points data shared online.


Capture (screenshot from the video)



Alternative solution: Use QGIS to merge points to shapes.

Available Census Tracts

1) Tiger/Line Census Tracts

Allan Walker (in response to how to access census data):
-> Download

-> Web interface

-> Select a layer type

-> Census Tracts

-> Select a state


2) Tableau Mapping

Tableau Mapping:

Repository – USA:

Found it from this post on Tableau forum:


Convert/use shape files

Use shape files for boundaries:

Convert: ISRI data – Python- GIS – Tableau:

Convert tools:


Finally, I came up with a solution for my own problem.


use files from

Step1. Understand how to use files from this website

To understand how to use files from this website, watch this video:
The file used in the video can be downloaded from
Additionally, read this blog post:

It provides useful info in terms of filtering only one state: “Since I want to plot only those tracts in Tennessee I need to add a filter to the data. The GEOID10 index is a concatenation of three codes: state + county + tract ID. In order to display just Tennessee I need to look up the FIPS state code and add a filter that only plots GEOID10 data that starts with ’47’. This is done by right-clicking on GEOID10 in the Marks floating tab and selecting ‘Filter…’. Select the ‘Wildcard’ tab and check ‘Starts with’ and type ’47’ into the text window.”

Step2. Download the Census Tract SED file & Tableau Workbook from

Step3. Put order ID (1,2,3,…showing the order of connecting points to form a polygon) to the Path mark and polygon ID (all points in the same polygon have the same polygon ID) to the Detail mark.

From the Tableau Workbook, I can see how the variables should be used.

point_order: the Path Mark

sub_polygon_id & Tracts_Points#csv_tracts_ID: the Detail Mark

GEOID10: the Color Mark

AVG([Tracts_Points#csv_Longitude]): Columns

AVG([Tracts_Points#csv_Latitude]): Rows

Step4. Filter only Missouri.

The FIPS state code for Missouri is 29. Use GEOID10 as a filter, and keep those starting with 29.

Alternative: Later, I realized that it may be even better to keep only Missouri data. So the file is much smaller and saves space.

You can do this by: right click the data source under “Data” tab, select “Extract data”, and select wildcard, start with 29.

Step5. Import another data source, and link two data files with a shared unique identifier – in this case, it’s “GEOID10” variable.

Note: I can also work on building census tracts data from the very beginning instead of using the file built by other people, but it is more time-consuming. To do that, start by step1-3 in the next section, and you’ll probably get there.


Add County Names


Download Missouri’s census tracts data from , following steps introduced above (Download – Web Interface – ….).

It’s .shp shape files, so I used a converting tool ( to convert it to .csv file.


According to FIPS codes from ,the COUNTYFP column shows the FIPS codes for counties.

Missouri txt file:   Right click – save page as a text file

In EXCEL, convert the text file to csv file. Add variable names in the first row.


Merge two files obtained from step1&2 with STATA.


After completing mapping census tracts, add new data source, and link both datasets by the common field: geoid – GEOID10.

Then add the variable countryname to the Tooltips Mark, so it will display when hovering the mouse over the map.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s