Author Archives: Barry Harmsen

Barry Harmsen

Barry Harmsen

Hi there, I'm Barry and I'm an independent Business Intelligence Consultant based in the Netherlands. Originally from a background of 'traditional' Data Warehousing, Business Intelligence and Performance Management, for the past few years I have been specializing in QlikView and a more user-centric form of BI. I have done numerous QlikView implementations in many different roles and industries. In 2012 I co-authored the book QlikView 11 for Developers. You can follow me on Twitter at @meneerharmsen.

Building a nicer (dynamic) multibox, without extensions

Building a nicer, dynamic multibox in QlikViewThe multibox is a QlikView object that I find extremely useful because it allows you to fit selection fields into a much smaller space. At the same time, I also find it extremely annoying; the gradient looks dated and if you want your field names and values to be readable you will often have to make both columns quite wide. For these reasons I tend to not use the multibox in my applications, using a conditionally hidden drop-down filter panel instead.

Recently, I was hired to perform a health check on an application. The application made extensive use of a multibox (in a very nice and flexible way, I should add). One of the challenges my client was facing was that not every field was relevant to every user. Besides a general technical review of the application, the developers wanted to know if it was possible to create a dynamic multibox. A multibox where users could select which fields they want to show.

As I started digging in to this question, I realized there’s a much nicer way to create a multibox. After experimenting with it for a bit, I actually like this solution so much that I will probably be using it in some of my future projects.

read more »

Aliases, to indent or not?

“Code is read more often than it is written”

  – common programming adage

As someone who often has to look at/modify QlikView script written by others, I have come to appreciate the value of readable script. Rather than taking an “if it works, it works” attitude, I always try to write my script with readability and consistency in mind. Somewhere down the line someone else (or worse, you) might have to decipher what a specific script is doing in order to modify or extend it.

Today I want to ask your opinion on the readability of a specific part of the QlikView script, indentation of aliases within LOAD statements. To this end, I’ve taken a piece of script from the QlikView System Monitor and formatted the aliases in three different ways. (note: I don’t agree with the absence of white space in functions and between operators, but have left that as is)

Have a look at the three options, and then please answer the two multiple choice questions below.

read more »

ABC: Always Be Closing

Always Be ClosingA very short tip on writing QlikView expressions that might save you a lot of headaches. In my last online training on Set Analysis (another one coming up this week) I showed a simple technique that I use when writing expressions in QlikView, especially when they contain nested functions. Based on the feedback, it seemed to resonate quite well with the attendees and not everybody was aware of this technique, so I thought I might share it with you as well.

It can simply be summarized as: Always Be Closing.

Whenever I write an expression that contains a parenthesis (or curly bracket/chevron/whatever) that also needs to be closed, I immediately close it and place the cursor one step back. Or, to show it visually (in slow mo):

This way, you’ll never need to think about how many parentheses/etc. you need to close your expression. Of course,  this technique also works for Excel, SQL or any programming language.

As a follow-on tip, whenever I have to ‘decipher’ a nested expression within QlikView, I work inside-out. Start with the inner-most function, figure out what it does and what value(s) it returns, then move on to the function that uses the output of the first function, figure out what that does, and so on.

Online training: QlikView Set Analysis

QlikView Set Analysis Training

Just a quick heads-up about a new online training that Miguel García and I are offering: Set Analysis. We delivered our first training on May 2nd and received excellent ratings and feedback. We are now scheduling new sessions, the first one being held May 23rd 2014. This is a live, instructor-led, 4 hour online training. We have multiple sessions (both in English and Spanish), so you should be able to find one that fits your time zone. More information can be found on the website, or after the break.

Register Now for the Online Set Analysis Training

read more »

Introducing a new author at QlikFix: Wesley Smit

Albert_Einstein

One of the reasons I started this blog in 2010 was not only to share what I know about QlikView, but also to expand my own knowledge and understanding of it. In my opinion, explaining concepts and solutions to others is a great way to identify areas of improvement for yourself.

Recently, I got a new colleague at my company; Wesley Smit. Wesley is a recent graduate of Business Economics and Organization Sciences from the VU University in the Netherlands. With this business-oriented background, Wesley has an excellent understanding of the what and why of Business Intelligence. Since joining Bitmetric as a Junior Business Intelligence Consultant, we’ve been bringing him up to speed on how to develop BI solutions. Of course, the main focus is on QlikView, but we’re also working on peripheral solutions, methods and techniques that will make him an all-round consultant.

Wesley has been making great progress and is ready for the next step, not just gaining knowledge but also sharing it. In the coming time he will be posting articles on some of the things he has discovered while learning QlikView.

I welcome Wesley as a co-author on this blog and hope that you will enjoy his articles!

The power of QlikView caching

CacheToday I read a very interesting blog post about the QlikView Cache by Qlik’s Henric Cronström (HIC). In the post, Henric gives a high level overview of how caching is used within QlikView to speed up front-end response times. (for a more in-depth explanation, have a look at the patent) Henric also explains some interesting peculiarities about caching, one of which busts a myth that I hear repeated very often (“running macros clears the cache”). I highly encourage you to read Henric’s post.

Of course, this post isn’t just a me-too article. Rather, I want to show you a neat thing that will let you experience the power of caching in QlikView for yourself. Did you know that you can actually turn off caching?

read more »

Generating random test data in QlikView with Mockaroo

Functions to create random data in QlikView


I often need random data. For example to use in an example file on this blog, to deliver a customer demo or just to test out something new. As I am probably not the only one with this need, here’s a short and sweet post on how to generate random data for use in QlikView.

read more »

QlikView hash functions and collisions

HashFunctionI’m currently updating my materials for the upcoming Masters Summit for QlikView in Chicago, and thought I’d share a little bit with you. In my session on data modeling, I explain how you can deal with various types of Slowly Changing Dimensions in QlikView. One of the techniques I explain is using hash functions to detect changes in (historical) records. During the previous events, this always lead to two questions from the audience:

  • What exactly are hash functions and hashes?
  • And, from those who already know the answer to the first question: Aren’t you worried about hash collisions?

Today I will answer both questions and hopefully give you some insight into hash functions, their usefulness in QlikView and the risks of hash collisions.

read more »

A secure (and cheap) alternative to Dropbox

A more secure alternative to DropboxA short article that isn’t directly related to QlikView, but if you’re looking for a secure way to synchronize and share your files across computers then this might be interesting for you nonetheless.

Like many people, I am a big user of Dropbox. Between my referrals, the free space that came with my Samsung phone and my paid subscription I now have 186 GB of online storage. While this is awesome for personal files, I’ve always been reluctant to use Dropbox for work-related documents, as time and again it is demonstrated that Dropbox is not secure. Besides that, Dropbox is also quite expensive, especially since I mainly use it to synchronize files and am not really interested in the cloud storage. With this in mind I set out to see if I could set up a more secure (and cheaper) alternative to Dropbox.

read more »

Masters Summit for QlikView Europe: Amsterdam October 2014

AmsterdamBanner600

After successful events in Las Vegas, London and Barcelona, and the upcoming event in Chicago next April 1 – 3, I am pleased to announce that the next European edition of the Masters Summit for QlikView will be held in my hometown of Amsterdam, The Netherlands on October 1 – 3 2014.

If you are a QlikView developer then the practical skills, ready-to-use resources and excellent peer networking offered at this event will make for 3 days that you do not want to miss! More information about the event can be found on the Masters Summit for QlikView website.

TheGrandUpdate 2014/03/11: the date and venue have been finalized: 1 – 3 October 2014 at Hotel Sofitel Legend The Grand Amsterdam (Oudezijds Voorburgwal 197, Amsterdam 1012 EX, Netherlands).

You can register by clicking the button below:

RegisterNow