2
votes

I'm trying to avoid the trap so well illustrated in this XKCD, where heat maps of your own numbers become nothing more than just demographics. I cannot find a way to do this with the PowerBI map visualization.

To reproduce my problem, connect a fresh PowerBI report to this CSV:

City,NrOfProspects
New York,1000
Newyork,1000
NY,1000
NYC,1000
New York City,1000
Newark,1000

Now visualize this as a map (set City for Location, and NrOfProspects for Color saturation), a table, and a pie chart to see this picture:

translucent Newark, opaque New York

As you can see, the Map visualization is very smart and knows how to group all of those weird spellings of New York. This is great.

What I want is now to adjust the map visualization as per demographics. I want to color the map based of the percentage of the population in a certain area. So for my data the picture would be inverted, with Newark showing up as a hotspot, and New York as a lighter spot.

I have considered two approaches to do this, but both have issues:

  • A. Calculate the numbers myself. But then I'd need the logic by which the Map visualization is grouping data (knowing that "NYC" and "New York" are the same thing), and as far as I know I don't have access to that function.
  • B. Have the map control do it. But as far as I can tell there's no option for the map control to do this.

So: how do I visualize data on a map, compensated for demographics?

1

1 Answers

0
votes

As you said, there are no options right now in the Power BI map visual (which is powered by Bing Maps, no surprise) for such demographic compensation, and I think this is definitely a great idea to be submitted to Power BI Ideas.

While waiting for this to be implemented in Power BI one day (hopefully), Power BI do have some guidelines and tips on how to improve the geographic data to increase the likelihood of correct geocoding by Bing Maps. (definitely require a trial-and-error process though)


The best way is to add latitude and longitude column to the dataset and use them in the map visual. This removes any ambiguity and you can have control over the result and manually correct any locations.

latlong


Add as much context as possible to the location field used. Concatenating them with comma (usual practice in address) into a column. More info passed to the Bing engine definitely helps improve the accuracy.

paris


Column name is also used in geocoding the locations. Make sure the location column is named Country, State, Province or City.


With a good source of population data I hope you can achieve what you want to do.

result

P.S. This post also contains some useful implementations of the above tips.