I’ve spent countless hours comparing features in the various map visuals available for Microsoft Power BI. Each has their strengths and weaknesses and there is not a single option that does it all. I’ve been thinking about what I need, want, or wish, but because data-driven maps can be so intricate and complex, from a software design perspective, it’s hard to know for sure which feature requests you should implement.
What Do You Mean, There’s No Legend? This Is Just Sad
Case in point: a map’s legend. I don’t know about you, but for me a map without a legend is meaningless. So adding a key is a no-brainer in my opinion, and if you disagree there’s something wrong with you. Well, ArcGIS for Power BI, the most elaborate mapping visual that comes with Power BI, doesn’t even have one and
is non-committal about adding the feature broke their Ideas community site. Its maker ESRI is the incumbent leader in GIS and they don’t even have a legend in one of the most prominent BI solutions out there! You heard that right: the number one software vendor in the world and the number one mapping vendor in the world had a baby, and it doesn’t even come with a key. This is really sad.
Mars 2020 edit: ESRI added Layers to their Power BI visual, which may or may not satisfy your legend requirements. Let that not derail the narrative of my original post.
Can the Insurgency Placate Geospatial Business Analysts Gone Mad?
Fear not, the insurgent Mapbox came to the rescue and diligently added an auto-generated legend a few months ago, based on a feature request from yours truly. But was the rabid mob of business intelligence mappers – a rowdy crowd infamous for its propensity to wreak havoc and burn banks – satisfied? Was it enough? Of course not, and this featurette is now ballooning into a series of follow-up requests for features within the feature, usually as a variation of “wouldn’t it be nice if”.
7 – Seven! – Suggestions for Refinements and Additions – The Telling Tale of a Bottomless Rabbit Hole
- Add measure/column name to legend of cluster layer. Otherwise the legend is very vague.
- Add support for legends coming with WMS maps. Well, yeah, my Mapbox dudes and dudettes, you added support for WMS raster layers, so you’d better show a legend now! This one is tough because legends in WMS maps are just another static image.
- Add legend for data-driven layers from Mapbox Studio. The beauty of Mapbox’s solution is that you get to control your map’s tileset (its background if you will) but since that can be data-driven as well… it needs its own legend right?
- Add ability to customize the legend location and font size. I am a dashboard author, bow to my power and give me absolute control.
- Make legend visibility conditional to its layer’s visibility. So elegant, so satisfying. Crispy yet melting.
- Add legend to heatmap layers. So you really thought I was going to let fringe use cases fall through the cracks? Nice try.
- Add sizes to circles in legend of circle and cluster layers. Admit it, it looks nicer.
Each of these feature requests makes sense separately, but if you add them all up, 1) that’s a lot of work for features that admittedly most map authors and consumers might not even pay much attention to, and 2) you might design yourself into a corner where there’s more space for legends than map. You’ll then need a legend for your legends! Keys are meant to make maps more readable, so this would obviously defeat the purpose.
Alternatively everything may be conditional and/or optional, but that will bring new hairy issues of discoverability and complexity. Power BI’s visual header, which now comes with built-in tooltips might be an option to consider. The example below is a bit of a hack that leverages the report tooltip functionality, but it kind of works:
For additional control, building a separate table visual with conditional formatting may be your best bet, and will have the benefit to work as a common legend for an entire report page, as explained in this post and demonstrated in the video below. This involves creating an additional data table where you define your legend buckets.
Full Disclosure Not to Be Mistaken for Admission of Guilt
In case it wasn’t clear, I’m the author of many of the requests above, so this post is mostly about making fun of my perfectionist completism. I also may or may not have enticed other people to pile on… let’s just say I plead the Fifth on this.
Bottom line, this is totally not an attempt to hijack the product roadmap. Your product roadmap is not even my type.
Conclusions Meant to Sound Authoritative
- Product management is hard.
- Users are a great source of feedback and ideas, so listen to them and learn to say yes. Microsoft started doing this in recent years and they’re so much the better for it.
- But feel free to politely ignore your OCD users and learn to say no. This is more important than the above since resources are finite.
- But don’t ignore me, I have the good type of OCD. (OCD is just like cholesterol.)
- Product management is really hard.
- So, we’re a go on all my suggestions, right?
I sound so smart, I should have posted this on Medium to showcase my organic thought leadership. Speaking of which, I’m available for hire to build BI solutions for your organization, using the aforementioned tech, bad analogies, and a true passion to use data in order to improve business outcomes.