As a QlikView developer, I relish the freedom that QlikView gives me to customize the look and feel of a single chart or the layout of an entire dashboard. On the surface, Qlik Sense simplifies the creation of visual analytics at the expense of this freedom. However, if you dig deeper and take advantage of its APIs, you will discover that Qlik Sense lets you do more than you could ever do in QlikView.

QlikView developers (as per the book QlikView 11 for Developers) were those of us who wrote load scripts, designed data models, formulated expressions, and manipulated QlikView objects. Qlik Help has now left that group of people nameless and deemed developers to be those who work with either QlikView or Qlik Sense APIs using some third-party code. Even so, I still consider myself a QlikView developer because creating extensions, or any other use of QlikView’s APIs, is not an integral part of the software. However, Qlik Sense APIs are at the forefront of what the software is and the title of Qlik Sense developer implies some ability to work with them.

Can QlikView developers upgrade their skills and become full-fledged Qlik Sense developers? After some reflection on my days as a QlikView developer and some cheerleading to motivate myself to make this transition, I’m going to share with you my plans to learn the answer. I alone am a horribly small sample for this experiment, so I invite anybody who is up to the challenge to perform the same feat or anyone who has already done so to share their experience.

In my previous post about my company’s migration to Qlik Sense Cloud Business, I described my frustration about having to manually upload data to my company’s workspace. I also expressed my belief that Qlik Sense Cloud would grow as fast as Qlik could develop data connectors for it. In his comment to the post, I think Aaron Couron summarized this sentiment well.

“I have to extract the data manually from the database into a file (qvd or otherwise) and put it up on the cloud. I guess that is an issue with any cloud vendor where I have on-premise data to feed it, but because BI, in general, relies so heavily on these kinds of resources, it becomes the “Elephant in the Room”.”

In the meantime, I’ve created a temporary solution to automatically upload data files using a robot. I finished it two weeks ago and it has run well 80% of the time. Barry Harmsen experimented with using a robot in Qlik Sense Cloud to invite users in November 2015. In a comment to the previous post, he shared his experience and remarked about the hassle it was to maintain the robot given how often Qlik Sense Cloud changed its UI flow and even the names of its UI elements. A year and a half later, I assume there are less drastic changes. Over the last 2 weeks, the few issues I’ve had were because my script was in need of some fine tuning and were not due to any change in Qlik Sense Cloud. Regardless, I’ll keep you up to date on the feasibility of using a robot while we wait for a more permanent solution.

Of course, the permanent solution is using a data connector to automatically refresh data directly in Qlik Sense Cloud. I recommend that you stayed informed about Qlik Sense Cloud updates, and that you swap the robot for a connector when the one you need becomes available. While we wait, I will do my best to keep the core script that I share in this post up to date in GitHub, and I will also show you how to maintain it yourself.

The steps we are going to take to create the robot are the following.

Set up Selenium Webdriver

Set up AutoIT

Configure the AutoIT and Selenium code to your environment

Create and schedule a Windows Task

Before last week, I had never heard of Selenium or AutoIT, so you don’t need to have any previous experience to go through these steps. It took me about 8 hours to get everything up and running including the time I invested in researching which tools to use and creating the script from scratch. I hope that people can be up and running in less than 4 hours with the help of this guide.

Last week I accidentally published this post before going to bed and woke up the next morning with a nice surprise that people had visited the post when it was still supposed to be a draft. I apologize for this leak and plan to catch those brain cells responsible for wasting your time.

As a small business owner, I am a big fan of cloud software. At this point, I almost have more tabs pinned in my browser than I have shortcuts on my dock. For example, you can find my project management tool (Jira), my knowledge management tool (Confluence), my file management tool (Dropbox), and my team communication tool (Slack) pinned at the top of my browser. As such, I’m excited to see Qlik Sense Cloud approaching the critical moment when it will be a veritable competitor of Qlik Sense on-premise.

According to Michael’s post, Qlik Sense Cloud has almost 100,000 users in 170 countries, but I think it would be fair to ask him how many of those users use Qlik Sense Cloud on regular basis. It may be true that they are active users, but if I were to make a bet, I would wager that many of them acted as I had over the past two years. They created an account, played around for an hour, and only returned when there was an announcement to see what was new. Even though 100,000 users may not be an accurate measure of Qlik Sense Cloud usage, the measure does speak for the initial interest many have had in what it offers. It also represents an opportunity for Qlik to convert them into paying customers once Qlik Sense Cloud adds more features and matures.

Released in December 2016, Qlik Sense Cloud Business is Qlik’s first serious attempt to provide a cloud service for businesses. In all fairness, there are a few kinks that need to be worked out and a few features that need to be added before I would consider it ready for most users. However, my overall opinion is that it’s a great start, and as an early adopter, it finally convinced me to use it internally in my company.

Like this:

Last week, I gave the business case for using an exponential distribution to predict a customer’s purchase frequency and detect at-risk and lost customers, Sales Analytics in Qlik: From the Basics to Statistical Modeling. In this week’s post, we go over the details of calculating and visualizing the exponential distribution in QlikView using the following chart. I also add some final thoughts on how to use the information it tells us in a real-world sales dashboard.

The basics

The most common Qlik application involves sales data analysis. Period.

Well, I don’t have enough information to back that up, and since data analysis is my life, I can’t make unsupported claims without some major nervous facial twitching (or so my wife says). However, I would bet based on personal experience that it is one of the most common applications, and moreover, I’d go as far to say that it is often the first analytical application that businesses develop after buying Qlik.

One the most obvious reasons that this could be true is that sales data is huge, low-hanging fruit. Sales is what drives most businesses and the data trail it leaves is usually the most readily available data to analyze. When a company purchases Qlik, it is often after continuous investments in an ERP (Enterprise Resource Planning) system, a CRM (Customer Relationship Management) systems, a customer portal and/or numerous Excel reports – all of which make sales data ripe for harvest.

Also referred to as Average Price, it can be defined as Net Sales Revenue divided by Sales Volume

Hits

Number of sales transactions or invoices

Gross Profit

Net Sales Revenue minus the Cost of Goods Sold (COGS)

Gross Profit Margin

Gross Profit divided by Net Sales Revenue

If you are familiar with these metrics, you’ll also be well acquainted with the series of dimensions that often slice and dice them. Catalogs that describe customers, sales representatives, products, dates, branches, stores, promotion codes, and channels answer the questions of who, what, when, where, why, and how that surround the sales numbers. You’ll also recognize the importance of using some type of reference data that comes in the form of a budget, a forecast, or at the very least, historical data.

Almost immediately after businesses start to take advantage of this basic, yet powerful, sales data analysis, they start to adjust their business questions. We can answer some new questions by adding a new metric, a new dimension, or a new visualization, but some new questions involve more advanced analysis techniques. One of the most popular questions that I encounter and that requires a more sophisticated approach is the evaluation of customer retention and the detection of customers that the business is endanger of losing. For here on, we’ll refer to this type of analysis as customer churn.

As Qlik Sense comes of age, I anxiously wait for the day when we will talk about the good ol’ QlikView days when we used to make map charts using a background image and a scatterplot chart. In the meantime, I’ve been finishing up one last, great QlikView adventure with Mastering QlikView Data Visualization and seeing how far ol’ QlikView can still go. Although, we have not seen a major update to its native visualizations in 5 years, I’ve been pleasantly surprised that there are still a few new tricks to be learned and boundaries to be pushed.

Stephen Redmond was the first to make a cookbook on tips and tricks, and he inspired us to look for ways to squeeze the most out of QlikView. More recently, I was inspired by a QlikFix blog post Barry Harmsen wrote on macros to create a my own macro that generates design layout grids and I called it the QlikView Grid System Tool. In turn, Barry was inspired to create a improved GridMaker. (Yes, he even improved upon the name.)

That, and to add insult to injury, he has a uncanny knack for making the most hilarious memes. I’ll leave the meme business to my fellow consultant Qlik Freak Julian Villafuerte, but as far as QlikView is concerned, I thought I’d return the favor and continue the chain of inspiration.

While writing my book, I was recently inspired by an excellent QlikFix blog post written by Frédérique Verhagen about creating bar chart target lines in QlikView. This post was the piece of the puzzle I was missing to finally create a single object, native bullet graph in QlikView. If you convert Frédérique’s bar chart into a combo chart with stacked bars, an error bar and a stock chart expression then you have a native bullet graph that is as robust as any other normal QlikView chart.

By the way, you can learn the trick on how to add a stock chart expression in Stephen Redmond’s cookbook. I’ve left the rest of the details in my book because otherwise Packt will blame me for plagiarizing. No kidding, they’ve already done it once. I bet some of you can figure it out by yourselves, so I’ll also keep the rest of the tricks for the book.

And of course, the bullet graph isn’t perfect. It would be impeccable if only we could change the line width of the stock expression. If you like the idea then vote to add this feature in this Qlik Community idea. Though, in all honesty, what I’m really hoping to do is to inspire one of you to take it that little bit further.