Becoming a Scripting Ninja

As a QV Consultant, I split my time between delivering training and QV Practice.  I like both sides of the business, but I particularly enjoy contributing to the excitement of using QV that results from training.

During a lunch break today, I mentioned the Masters Summit for Qlikview to one of my students. He asked “What does it take to become a Master?”. Of course I answered “Attend the summit! “.  But it reminded me of a list I present when delivering  Qlikview Developer (Scripting & Data Modeling) training.

Most of us experienced instructors augment the standard curriculum with our own real-world experiences. When teaching scripting, in addition to surveying the range of scripting statements and modeling solutions, I emphasize three specific scripting features as “Ninja skills” — script features whose mastery makes you deadly effective. My “Scripting Ninja” list is:

1. MAPPING LOAD. Understanding how to create a Mapping table. How to use that table in all it’s forms — ApplyMap(), MAP USING, RENAME USING and the other metadata USINGs — TAG and COMMENT.

2. IntervalMatch — has many uses  including Slowly Changing dimensions, Currency Rates, Dimension Bucketing to name a few.

3. Preceding Load — can be used to create powerful parsing scripts and simplify the maintenance and accuracy of script. Here’s a primer on Preceding Load.

Those are the three special QV scripting features that stand out for me as exceptionally powerful and well worth mastering. Are there others you would add to the Ninja list?



6 thoughts on “Becoming a Scripting Ninja”

  1. Hey Rob,

    I like that list and fully agree with it (however, maybe I need to review the different forms of mapping, only using applymap and joins at the moment).

    I would add: QVD load. Downloading raw data from the database in a QVD, transforming it afterwards and then adding it to the app has really opened up a world of possibilities.

    And then a true ninja skill (the others are more like a toolbox) in any form of scripting is certainly the Feynman problem-solving algorithm:
    1. Write down the problem.
    2. Think very hard.
    3. Write down the answer.

  2. Unable to use filter command in listbox

    Say I have around 200 Branches I want to filter only Branhces starting with first 3 letters as CCP. How do I do it. Can anyone help me out.

    1. =aggr(if(left(Branch,3)=’CCP’, Branch), Branch)
      This solution is all very good but is VERY slow over large data.

      A better solution is a new field in the underlying data that only has values for the BRANCH’s that you need and either null() or ‘Other’ for the other Branch’s

      add this to the Table Load:-
      if(left(Branch,3)=’CCP’, Branch,’Other’) as Report_Branch

      You should ALWAYS think about calculation speed.

Leave a Reply

Your email address will not be published. Required fields are marked *