ServiceNow Reporting

Introduction

Explore Analytics provides seamless integration with ServiceNow to deliver high-performance data exploration, analysis, and visualization without the need to build a data mart.

Explore Analytics seamlessly support reference fields

The challenge

To connect a BI tool with application data, there are typically three choices:

  1. Bypass the application, connect directly to its database and try to make sense of the data.
  2. Export data from the application into an external data store that’s more suited for BI tools.
  3. Access the data directly from the application using Web Services.

Each of these options suffers from serious drawbacks.

  1. The database of most application is utterly unsuitable for BI, requiring multiple joins to piece together application objects and too much knowledge of the inner working of the application. Even when feasible, bypassing the application typically means bypassing application-level security, a non-starter for most customers. And to put the last nail on the coffin, most SaaS applications including ServiceNow forbid such access altogether.
  2. Moving data from the application into a specialized store is expensive to setup because it requires specialized staff for data warehouse design and the implementation of ETL and data management tools. Even if resources are not a concern, you still end up with data that’s a snapshot in time and miss the up-to-the-minute data that user’s crave.
  3. Direct application access is the most promising option. It provides the user with application objects with recognizable names and all the security, localization, choice lists, and other tools that make data access easy. Nevertheless, the application must provide APIs that are designed for query and allow the BI tool to request data filtering and aggregation to be done by the application. This is required to prevent having to pull impractical amounts of data and performing the filtering and aggregation at the BI tools. Summarizing a million data rows by the application can take a few seconds; however pulling a million rows across the network could take minutes which it much too long for a user of an interactive tool.

Fortunately, ServiceNow provides such APIs that allow Explore Analytics to push 100% of the data filtering and aggregation to ServiceNow and never pull more than a few thousand data rows across the network.

The solution

Explore Analytics uses Web Services (SOAP) to access the ServiceNow instance and perform queries. It pushes 100% of the data filtering and aggregation to ServiceNow. For example, doing a monthly trend report of incidents only requires pulling a few rows for each month since the aggregation is done at the ServiceNow application using a GlideAggregate API.

  • Explore Analytics shows the friendly ServiceNow labels so that you see table and field names such as “Shopping Cart” and “Catalog Item” rather than “sc_cart” and “sc_cat_item” respectively.
  • Explore Analytics fully supports choice lists so that you can construct a filter that looks like “Incident State = Resolved” rather than “Incident State = 6”.
  • Explore Analytics understands reference fields and uses them to relate tables and combine multiple tables in a view.
  • Explore Analytics understands ServiceNow display fields and uses them to allow you to naturally construct a filter such as “Caller Name = Beth Anglin” rather than “caller_id = 46d44a23a9fe19810012d100cca80666”.
  • When creating a new view in Explore Analytics, it creates a list view that reflects the fields selected in the ServiceNow default view.

Conclusion

Setting up a ServiceNow data source in Explore Analytics takes minutes and allows you to begin exploring your data right away. No need to setup a data mart and no worry of runaway queries that pull your entire database.

By providing robust data query APIs, ServiceNow is leading the way for enterprise SaaS applications. For its part, Explore Analytics is designed to push as much of the filtering and aggregation to the source, eliminating the need to pull large data sets or store snapshot copies of the data.

 

Choropleth

A Map chart is a great way to visualize spatial relationships in data by indicating data on a geographical map. People are very good at reading maps, a fact that allows a map chart to effectively communicate a great deal of information.

In this blog post I’d like to focus on a particular type of map chart called a choropleth. In this type of map chart we color areas on a map to indicate a value or a category of data for each area.
In the following example, we show US unemployment data at the state level. The chart below is interactive and I encourage you to play with the settings. We explain these settings later in this article.

Data

The data shown in a choropleth can be categories or numerical values. The unemployment rates in our example are numerical values, of course. For an example of categories we could show the result of an election with a color for every political party.

When showing categories, the colors are assigned from a palette of distinctive colors similar to the colors used in a pie chart. When showing numerical values, we use color schemes that reflect the numerical value using color shades.

Let’s consider two types of color schemes. The first, sequential, is designed for data that has values that progress from low to high. The second, diverging, puts equal emphasis on mid-range critical values and extremes at both ends of the data range Levels. An example of diverging can be acidity where PH of 7 is neutral and higher and lower PH values diverge to acidity and alkalinity.

In our example we used a sequential scheme that reflects progression from low unemployment in states such as North Dakota to high unemployment in states such as Nevada.

Levels

The range of numerical values is divided into a number of levels that are then mapped to colors. You can set the number of levels to between 3 and 9 to control the granularity of this mapping. In our example, we used just 5 levels.

Scale

There are two options for mapping numerical values to colors:

  • In a linear scale, the range of data values is equally divided to the specified number of levels.
  • In a quantile scale, the range of data values is divided based on data frequencies.

In our example, we use quantile. Since we selected 5 levels we have 5 quintiles. The first quintile has the 20% of states with the lowest unemployment; the next quintile has the next 20% and so on.

Color Schemes

Based on the choice of sequential or diverging data we have a choice of several appropriate color schemes. The scheme you see in our example is based on design by Cynthia Brewer and Mark Harrower at The Pennsylvania State University.