One of the most significant changes Qlik has experienced so far is the substantial growth of their product family. What once was a one-man show, is now a robust portfolio that addresses several business needs. Do you want pixel-perfect reports? Here’s NPrinting. You don’t like in-house deployments? Meet Qlik Sense Cloud. Do you need more data? Welcome to Qlik DataMarket. All these new modules help us work more efficiently, enrich our analyses, and ultimately, make better decisions.
One of the most interesting newcomers in this list is Qlik GeoAnalytics (formerly known as Idevio). Even though it isn’t exactly new, I think there are still some misconceptions around this product. Yes, it is a tool that allows you to create cool maps in Qlik, but there’s much more to it. In this post, I’ll show you some of my favorite features and how they can help you analyze geographic data. This might not be a comprehensive list, but hopefully it will give you an idea of the real potential behind GeoAnalytics.
Special thanks to Viktoria Lindback, Jonas Karlsson and Jonas Lindén for helping me out with this post. I really appreciate it guys! By the way, all the examples I’ll use here are based on my last post about the public bike sharing system in my hometown.
Before going any further, let’s take a look at what you can achieve with native maps. In Qlik Sense we have two different options: bubbles and areas. If you’re lucky enough, the platform will recognize your fields as locations when you load them and it will automagically treat them as points or polygons. If not (in my experience, 90% of the times), you’ll have to use the GeoMakePoint function and tag your fields with $geoname, $geopoint or $geomultipolygon. After that, you can easily modify sizes and colors based on standard expressions.
In QlikView… well, there are no native maps (bummer ☹). However, we usually rely on other tricks to create them.
GeoAnalytics is definitely not the only way to add this kind of functionality to your dashbaords. There are many other interesting tools such as GeoQlik, Articque, NPGeoMap and QlikMaps. If you’re looking for a simple visualization (maybe a heatmap of something like that), there are some cool extensions in Qlik Branch as well.
Simply put, GeoAnalytics has two parts: a set of extensions and a connector. While the extensions allow you to create maps, layers and animations, the connector brings new data to your model in many forms (times, distances, associations, areas, etc.).
In terms of deployment options, you can choose to keep everything in-house (a bit more expensive), or let the magic happen on Qlik’s side (if you don’t have ultra-strict security schemas in your company or maaaaaasive amounts of data, this will work perfectly fine).
Finally, this platform will work for both QlikView and Qlik Sense. I can’t really tell you why, but personally, I prefer the later. GeoAnalytics feels more “sensey” than “viewie”.
Maps & Layers
Let’s start with the visual stuff. All your geo-visualizations will be composed of a map object (background and general controls) and one or several layers (the actual points or areas that represent your data).
About the maps: Classic navigation schema. Panning, zooming and selecting points is done exactly as you would expect. Cool thing: you can use the default maps or add a geodata layer to use other services (this will change the background image).
About the layers: There are 5 types of layers:
- Bubbles: You can customize shapes, sizes and colors, adjust transparency and display or hide labels depending on the zoom level.
- Areas: Polygons colored by dimension, measure or a custom Qlik expressions.
- Heatmap: Be careful, 90% of your users will go nuts after seeing this.
- Lines: Connects two locations or draws a polygon. Can be used as arrows.
- Charts: Yep, it uses pie or bar charts instead of bubbles. Not exactly my favorite (it’s a bit hard to interpret).
Need more context? Well, all those representations I mentioned before can be displayed at the same time (Just take it easy, no one can read a map with 14 layers!). But relax, there’s another option. See those rectangles in the right side of the screen? With them, you can turn each layer on and off. Therefore, your users can mix and match bubbles, areas, heatmaps or lines as needed.
There’s a super-cool function called Spacial Index and classic drill-down functionality so you can display data differently depending on the zoom level. Imagine starting your analysis with an area map of your country. There’s a specific region that you want to analyze, so you zoom in and it automatically turns into heatmap, clearly displaying some red areas. After scrolling a bit more, it eventually turns into a bubble map, where you can visualize each of your stores. Cool, right?
Popups. Pop Ups? Pop-ups? (Meh, whatever.)
I’ve always said that small details can make a huge difference in your dashboards and popups are definitely one of those. Each object has an Info Bubble section where you can easily customize your messages using different formats, colors and Qlik expressions.
These formulas are usually big, but very easy to build:
Yeah, there’s an animator extension in this package. In fact, it’s a timed selection for a field, so you can use it with other charts as well. It only selects an element, waits a second, picks the next one, and so on.
Unless you’re Hans Rosling, you’d better think twice before using animations in your apps. Remember that each step in your animation (i.e. a selection) will recalculate ALL the objects in the sheet (and maybe that will take more than just a millisecond).
Stuff you can work with
- GeoAnalytics stuff: These guys have a cool location database! Depending on which country you’re trying to visualize, they may already have dots and polygons for states, cities, counties, postal codes, airports, lakes on lots of other places. Luckily you won’t need to lift a finger to get those coordinates 😛
- Your stuff: Cities and postal codes are useful, but surely you’ll need to visualize your own data too! Time to look for your catalogs and map those customers, stores or warehouses.
- Other stuff: Lastly, you can work with not-so-common formats like GeoJSON, GML/WFS, ESRI Shape, ESRI JSON (You probably won’t use these every day but it’s good to know you could).
About the connector
Besides the mapping capabilities I mentioned earlier, GeoAnalytics can bring new data to your model. In the script, you’ll have to create a connection and call a wizard to specify certain parameters. Most of the time, you’ll only have to tell GeoAnalytics which operation you want (there are 17 so far), which fields / points / areas you want to work with and maybe some specific things like the shape of the bins or the radius to cover.
The secret here is to understand what GeoAnalytics expects you to type in. You’ll find some dropdown lists, but many fields are just input boxes and to be honest, they are not always easy to decipher. But don’t worry, this guide has everything you need to know, operation by operation, parameter by parameter. Oh, and don’t forget the Guides & Examples page, where you can download QVFs to do some reverse engineering.
Yep, you’ll get new code in your script and it will be ultra-hard to understand. Luckily, you won’t need to. Just reload the app and analyze the new tables that appear. I always rename the fields and join / map them to my catalogs so the model stays nice and tidy.
Let’s start with the good stuff! If you need to group nearby locations for some reason, the Cluster operation will become your best friend. Just specify a dataset and you’ll get a new table with all the associations (Cluster ID, coordinates and the number of points related to it).
Bad idea: Map thousands of points in a small area, ending up with an unreadable blob over the map. Good idea: Use the Binning operation to group them in rectangles or hexagons and represent point density with colors.
Totally fake scenario: you’re the mayor of a big city and your team has gathered the coordinates of each and every crime registered during the last year. You need a chart that displays the number of incidents by district but they forgot to add that field to their database. What do you do? Exactly, use the Within function to associate all the points to their respective areas.
Remember the bike stations from my last post? Well, I added some attractions to the data model (you know, museums, parks and stuff like that). Now, using the Closest operation, I can tell you the 10 nearest stations for each attraction (yeah, distance included!).
Let’s say your boss defined some arbitrary areas and assigned a sales rep to each one of them. Now, you want to merge them together in order to create broader regions for your supervisors. The answer: the Dissolve operation.
Talking about areas, if your polygons are way too complex (like the roundabouts shown in the image), you can cut some edges with the Simplify operation.
Let me read your mind and answer all your questions:
- Oh my God, can it really calculate routes? Yes, it can.
- Will it give me the distance and estimated times as well? Yes, it will.
- Does it consider traffic and accidents like Waze or Google Maps? No, it doesn’t.
Oh, I almost forget! You can also use images instead of bubbles, but you already saw that, right? By the way, whenever you’re dealing with distances, GeoAnalytics will give you 5 options: bird, pedestrian, bike, car and truck. Each one has average speeds and road restrictions.
Travel Areas & Intersect
Imagine you work at a restaurant chain and got your hands around a dataset with the coordinates of all the restaurants in town (not only yours, but also your competitors’). By using the Travel Area operation, you generate polygons representing a 10-minute walk around each one of them. Then, you invoke the Intersects function to calculate the relative area overlap between your restaurants and Fancy Noodles Inc, your most hated rival. Finally, you focus your marketing efforts (flyers or something) in those areas, save thousands and increase your sales. Yep, you saved the day (once again, not at all one of my current projects!).
As you can see, creating cool maps is not the only thing you can do with this platform. Some of the operations available in the GeoAnalytics connector can definitely give you a new perspective of the data and make your decisions much simpler. If you want to see more features and demos, be sure to visit their website or check these videos.
Well, that’s all for today’s post. I hope you liked it! If you have any questions, comments or suggestions, don’t hesitate to use the section below.
Thanks for reading. Until next time! 😉