Custom Power BI Map Integration

Stack: TypeScript and JavaScript, Node.js, Azure DevOps, ArcGIS JS API

Posted on January 20, 2020

May 2019 - Jan 2021

This project is all about visualizing data. As mentioned in the summary, the product is a GIS map visualization for Microsoft Power BI.
What is Microsoft Power BI?
Power BI is a business analytics service/dashboard created by Microsoft. The service provides interactive visualizations and business intelligence capabilities with a simple interface that allows end users to create their own analytics reports and dashboards. Think a bunch of interactive and interconnected charts.

Microsoft Power BI is the domain in which the GIS map visualization operates in…

But what is GIS?
GIS stands for “geographic information system” and it is a framework for collecting, maintaining, and analyzing geospatial data. GIS is used to analyze spatial data and has an organizational methodology that allows information to be stacked in different layers. These layers can be viewed individually or combined to reveal deeper insights through map visualizations and 3D scenes. The long and the short of it is that GIS allows spatial data to be viewed on a interactive map showing key relationships and patterns between the data and it’s surroundings.

Now this is where the custom map visualization comes in.

Out of the box, Microsoft Power BI has a few map visualizations to choose from. However, these default visualizations have apparent technical limitations, to help alleviate these limitations, we created a custom map plug-in. These are the main features of the custom plugin that help overcome the technical limitations of the default maps:

1) Adding multiple ArcGIS layers to the visualization (an ArcGIS layer is just a specific brand of geospatial data layer).
Previously, users were only able to add a single ArcGIS data layer to their map visualizations. This greatly limited the flexibility users had in viewing their data as well as uncovering relationships among the data itself. With the new custom map plug-in multiple ArcGIS layers can be added to the map visualization. This allows for much greater insights and versatility when the user is viewing data in the map visualization.

2) Bi-directional filtering and data selection from the map. This one is the real kicker.
Previously, users were only able to interact with the data hosted in Power BI itself. This means that when a point was clicked on the map, all the other visuals (bar charts, graphs etc) in Power BI would react and filter the data accordingly. However, the layers of GIS data that are not within Power BI itself could not be selected, queried, or interact with other visuals. With the custom plug-in this is no longer an issue. GIS data from the ArcGIS layers can now be connected to all of the data sitting in Power BI and interacting with the layer data will appropriately filter the rest of the visuals and data in Power BI. This new functionality also allows for data filtering to occur in the other direction, when other Power BI visuals are interacted with the ArcGIS data layers will filter accordingly on the map.

3) 3D visualizations on the map.
Now users are able to view their data in 3D on the custom map visualization. A whole new dimension of patterns and relationships can be unlocked when viewing your data in 3D.

Additionaly, the custom map visualization also supports geocoding of locations (address, postal/zip code, etc,), customizeable map symbology, and much more.

The custom Power BI map plug-in is built on Node.js using TypeScript and the ArcGIS JavaScript API.

Copyright © 2022 Chad Dundas Smith and Creative Tim