A quick Datazen POC and review
Earlier this year, Microsoft acquired Datazen, keeping true to their strategy of services and devices. I’ve had the fortune of trying out these new tools for a client of mine. I’m going to quickly cover how to set up a simple dashboard in Datazen, with more focus on setting up the data sources and relationships, and a little less focus on the presentation. After all, presentation in an analytics tool is dictated by the sophistication of the data layer. I’m tool agnostic, so my perspective is in context of tools like powerBI, SSRS, BOBJ, Cognos, etc. When evaluating a tool, I look at the barriers and technological debt that might be incurred while trying to deliver value with the product.
This product has an on premises client serves as the gateway between mobile devices and the outside world. The product offers the developer a control panel, where user management, access control, and data source management happen. Users can be tied into active directory, and pass through authentication can easily be enabled. This is all of the basic stuff that’s non-differentiating from just about every other tool on the market.
It gets more interesting when we have a look at how information is structured logically and physically. Datazen has a logical grouping called a Data Hub, the equivalent to a content pack in powerBI pro. You might have one for different business units, such as a data hub for finance, another one for operations, and so on. In order to build any dashboard, you first need to define a hub. Within that hub, you can define a group of dashboards, and below that, the actual dashboard. In practical terms, think of creating a hub called Finance, a group called Accounts Receivables, and maybe a dashboard Outstanding Receivables.
The features mentioned so far have been pretty standard fare. Now let’s get to the stuff that really matters. The data sources are set up within the control panel as well. The product can connect to just about any type of data source, but that’s non-differentiating to the product as well.
Objects within a data source are nothing more than a query on that data source grabbing a result set. Every object has it’s own schedule, and can be scheduled to run down to the minute. Other than being from the same data source, none of the objects are related in a logical sense. Relationships are done on the client side, as the dashboard is built. There is one big disadvantage to this, in that errors in the formatting of the relational keys will only be discovered on the client side once you’re building the dashboard. That involves flipping back and forth between the control panel and the client side tool. I found that this problem also occurred with the sorting of items in the presentation layer. I have a list of regions, which I would like to present to the user in alphanumeric order. If those names are not sorted in the data source, they will not appear sorted in the dashboard. Not a big deal, but still a minor annoyance. Result sets are limited to 100,000 rows, which is sufficient if we are only doing high level presentation, this is why you see that one of my objects was truncated. Datazen is not meant as a drill down tool. An interesting feature of the data view within this tool is the ability to pass parameters to objects. So we can pass something like a username to the query, so the user only sees information that is relevant to them. This is a clever way of reducing data load, and targeting user audience.
Now for the construction of the dashboard. Datazen includes a client side designer, which uses all of the objects we’ve just described in the control panel.
The layout view in the top left most gives the user the canvas and all of the relevant widgets. Widgets can be arranges on the canvas, and properties set below. I found this to be very easy and well designed, there’s little guessing where the settings for the axis or labels of the graph are. Of note, the drill through target can be defined here, this dashboard can be set up to link to another datazen report, or a power BI report, or anything else that’s within reach of the device using the dashboard.
The data view is where you go to the server and get the files. Every time you add a widget, a simulated table is added for that widget a kind of “data placeholder”. Deleting that table, we can add data from the data source that’s just been configured in the control panel. These objects appear simply as a file structure, and are easy to navigate to. Once we’ve imported all of the data objects, we can define the relationships between them.
This is the part where I got stuck. I had a region table, and a selection list widget. When I pick a region, I want the graph I have to show only that region. In the data view for the selection list, there’s a tables filtered by region option. You first have to allow orders to be filtered by the column which is the key in the selection widget. This does not mean that every widget that uses the orders table will be filtered, but rather that it’s an available filter for a widget which uses the orders table.
Now when we look at the widget that is using the Orders table, hidden under the options of the data properties, we can allow the widget to be filtered by the selector we’d previously defined. In other words, this allows me to have two widgets on my canvas using the Orders table, where one of them is filtered by my selector, and the other is not. That’s pretty handy. There’s a key observation to be made here. Suppose you had two counts in orders, and you want to show the percent difference between the two. As there’s no expression or language capability between data objects, there’s no easy way to calculate the percentage difference. In other words, to do this in Datazen, you’d have to manipulate the actual object itself (the query), to allow for this percent difference. The most you can do within the presentation layer are aggregate functions of said numeric values. That’s a big restriction of the tool, as organizations frequently want to show a percentage of something where the user can drill down by area, month, etc. Certainly, the tool can be twisted to perform this function, but it’s something a developer should not have to do.
Finally, I have a simple dashboard with a region selector (or filter), and a simple bar chart showing the orders. I won’t bore you with this, as I’m sure if you’re reading this, you’ve seen many of these before. I’ll conclude with a few observations which may help your organization decide if and where you want to use this tool.
- -Data structure in this tool is meant to be sourced from structures that are already mature. Datazen is not a data discovery tool.
- -Objects are meant to be pre-aggregated, which makes sense as the product is geared for mobile. They really don’t want to be pushing large data sets down to mobile devices.
- -Dashboards can be cached on the recipient device. This is a selling feature for executives and other individuals who spend a lot of time on planes or offline. That said, there are fewer and fewer places that aren’t connected these days.
- -Objects sourced from different data sources, say excel and MSSQL, have to be perfectly formatted to work together before they are imported. The tool doesn’t contain facility to massage the data between sources.
- -The visualizations are pretty, work well in mobile, on tablets, and integrate nicely with Windows 7. Custom maps are pretty slick if you’re trying to show specific geo spacial information.
- -The designer and control panel are very easy to use, and are easy for non technical staff to pick up. It will allow non technical people to build simple dashboards quickly and effectively.
In conclusion, this tool has a place in mobile in the Microsoft BI ecosystem. It’s not a replacement, or a stand alone tool. For now, it will have to be used along with other tools. I’m writing this just at the time that Microsoft has just revealed their September release. With 44 new features wrapped into a single release, it’s clear that this is where MS is investing the effort. We’ll soon see what improvement cadence they demonstrate for Datazen, and whether these two products will converge.