Category Archives: Script

DISTINCT can be deceiving

DISTINCT can be deceiving

Never think you know it all! Today I have for you a little ‘gotcha!’ about the LOAD DISTINCT statement that I picked up from Oleg Troyansky at the Masters Summit for QlikView.

Common knowledge about LOAD DISTINCT is that it will remove duplicate records from the input table, similar to how the DISTINCT clause works in SQL. For example:


However, when used in combination with the JOIN or CONCATENATE statement, the results can be surprising, and even counterintuitive.

read more »


Mr. ComplainypantsNo, this post isn’t about that negative co-worker or friend who’s always second-guessing your ideas and solutions, it’s about two QlikView script statements that I believe deserve a little more attention: WHEN and UNLESS. (Inspired by Steve Dark’s post on Hidden QlikView Features)

Both statements can be used as an easier, shorter version of the IF-THEN-END IF statement. For example, to set the default value for a variable, but only if it hasn’t been set already:

WHEN ‘$(Variable)’ = ” SET Variable = ‘Value’;

Or, another example, when you’re in a loop and want to add a separator to a concatenated value, unless it’s the last iteration of the loop:

UNLESS $(i) = $(ForMax) LET Variable = ‘$(Variable);’;

One thing you’ll immediately notice when you use these statements is that QlikView syntax highlighting doesn’t seem to recognize them. Don’t worry though, as the attached example application demonstrates, they do really work.

Download the example application

Visual FX in QlikView (4): Season’s greetings!

Christmas time is coming near and I’m in a festive mood, so today I have a short post to wish you all a Merry Christmas and a Happy New Year!

Of course, it wouldn’t be a QlikFix Christmas if I hadn’t whipped up a little visual effect in QlikView. Without further ado, here is my QlikView Christmas card to you:

But wait, there’s more! Inspired by the Christmas theme over at Matt Fryer’s QlikView Addict blog (a recommended read, by the way), I decided to create a small document extension that lets you add a little Christmas spirit to your own QlikView documents. Amaze (or annoy) your clients, co-workers and users! For example, how about adding a little snow to the golf course?
read more »

Announcing QlikView 11 for Developers: The Book

QlikView 11 for Developers book coverAfter many months of hard work, today I am proud and excited to announce the upcoming release of the new QlikView book that Mike García and I wrote together:

QlikView 11 for Developers

With 500 pages of original content and an extensive collection of code samples, we believe this book contains everything new (and seasoned) QlikView developers should know in order to put QlikView 11 to productive use.

The book will be published by Packt Publishing and is scheduled for release on November 15th. If you want to secure a copy for yourself, pre-orders can be placed via this page.

Of course, writing a book is not a solo (or in our case, duo) exercise. Mike and I could not have done it without the great contributions of:

Donald Farmer Foreword Blog @donalddotfarmer
Ralf Becher Technical review Blog @TIQView
Steve Dark Technical review Blog @quintelligence
Stephen Redmond Technical review Blog @stephencredmond
John Trigg Code support @qt_trigjoh
Rashmi Phadnis Acquisition editor @rashp
Joanne Fitzpatrick Acquisition editor
Sai Gamare Project coordinator @saigamare
Anugya Khurana Project coordinator
Ankita Shashi Lead Technical editor
Nitee Shetty Technical editor

In the coming weeks, we will be giving you insights into the book and will also be giving away a few copies, so be sure to watch this space. You can get notified of new posts by entering your email address in the input box in the top right corner of this page.

Update 2012/11/20: yesterday we were informed by the publisher that both the print version and the e-book will be released on November 23rd.

Update 2012/11/23: the book is now available for sale! (Amazon | Barnes & Noble | Packt)

Update 2012/11/29: for those that are unable to download the code bundle from the publisher’s website, you can also download it from this link:

QlikView blog round-up: If-statements, inline tables & EDX

DecisionsTime to dust off a posting category that hasn’t been getting as much love as it should have; the QlikView blog round-up. Today I have for you three blog posts that I read recently and found very interesting:

read more »

Merging tables: the JOIN prefix

Merging tables: the JOIN prefixThis is the second post in a series on merging tables in QlikView. In the previous post I wrote about appending rows to tables by using the CONCATENATE prefix, this time I will show you how to add  columns to a previously loaded table by using the JOIN prefix. read more »

Hands-on with QlikView Script Generator

A marble track of data!I have a confession to make. As someone who comes from a background of visual ETL tools (such as SAP BO Data Integrator and Informatica PowerCenter) loading data into QlikView via scripts has always struck me as somewhat old-fashioned.

Don’t get me wrong. I can very much appreciate a good QlikView script. It is just that whenever I hear someone say that QlikView does not need a visual way to load data and that script is fine it reminds me of the “veteran” DBA’s I’ve met during my work as a BI Consultant. If you have worked in BI/data warehousing for any length of time you probably know the type, lots of facial hair, heavy smoker, followed his last training in 1986 and, most importantly, he is absolutely adamant that PL/SQL is the only right way to do ETL. Graphical tools are for kids and amateurs!

I do not agree with that statement, so you can imagine that I was pleasantly surprised when I read the announcement for QlikView Script Generator (QsGen) this week. QsGen promises, amongst other things:

  • Visually design complex scripts to load your data
  • No more need of scripting skills
  • 500% faster design

Interested to see if I really would not need any scripting skills to build fantastic “marble tracks” of data I decided to download the trial version and test it with QlikView 10 SR1.

read more »

Merging tables: concatenation

Merging tables using the concatenate and join prefixesOne of the subjects I often see new QlikView developers struggle with, especially those without prior database experience, is merging data from different tables. In this series of two posts I will explain how to use the CONCATENATE and JOIN prefixes to bring together data from multiple tables.

Simply put, the CONCATENATE prefix lets you add rows to a previously loaded table, while the JOIN prefix lets you add columns to a previously loaded table.

Read on for the first post, which covers the concatenation of tables in more detail. read more »

Prebuilt QlikView Script for Mozilla’s Open Data Visualization Contest

Mozilla Test PilotA few days ago I became aware of the Mozilla Open Data Visualization Contest that is being organized by Mozilla Labs and the Mozilla Metrics Team. The goal of this contest is to creatively visualize answers to the question “How do people use Firefox?”. For example by creating visualizations that investigate interesting usage patterns, reveal interesting user behavior, or explore browser performance.

I figured this would be a nice challenge, so I decided to download the data and load it into QlikView. Since I am always curious to see what other people can do with QlikView (it can be very educational) I have shared my load script and data cloud here, so that other developers interested in joining the competition can get a running start. read more »