I was pleased to recognize my hometown skyline in a recent Forbes.com article exploring the best cities for jobs. But skylines were the only visuals that supplemented the article, so naturally I used Tableau to study the rankings geographically.

Joel Kotkin authors the New Geographer column, and thoughtfully shared the raw data. The cities are ranked within three groups: Best Big Cities, Best Mid-Sized Cities and Best Small Cities. Here's the overall rank of job growth on a map, which clearly identifies the region Joel describes as "zone of sanity" – cities that did not participate in the housing boom and subsequent bust.

It's also interesting to look at the most and least improved cities when compared to the prior year's rankings:

I used a scatterplot of total employment vs. movement in job growth rank to visualize interesting outliers:

Of the larger cities, Boston, the DC area, and New York show improvement in job growth rank. That corresponds to what we saw on the maps above; the Northeast and Midwest are improving their rank more than other areas.

You might also be interested in...


How were you able to add geocoding for US cities? I have been trying to add custom geocoding for US cities, unsuccessfully. These are the fields in the CSV file I'm using:

Country (Name) State (Name) City (Name) Latitude Longitude

But when I assign the "City (Name)" role, it never works. All values get mapped to (0,0) on the world map. Please help.

Try doing City, State by concatenating the city and state values so they look like this: City, ST.

Ross Perez

The data source uses CMSA, U.S. Consolidated Metropolitan Statistical Area (Example: "Dallas-Fort Worth-Arlington"), a default Geographic Role included in Tableau, so Tableau can generate Lat/Longs for those predefined locations. If you simply concatenate the City State, that will not create a CMSA, but I expect you could use "City, ST" as an additional custom geographic role if you have the Lat/Long for each city.

See the table at the bottom of Geographic Roles for types locations where Tableau can generate Lat/Longs.