About this ebook
QlikView and its new sister product, Qlik Sense, are the leading tools for BI and data discovery. They both feature the ability to consolidate relevant data from multiple sources into a single application, an associative data model to allow you to explore the data the way your brain works, and state-of-the-art visualizations, dashboards, analysis, and reports.
The book starts by reviewing the best performance-tuning techniques and then advances to help you discover strategies to improve performance and test scalability with JMeter. You will also learn dimensional data modeling and creating best-practice ETL techniques using the QlikView script and QlikView's graphical ETL tool, Expressor. Following this, you will deploy QlikView Governance Dashboard to import multiple data sources and view all the information in a single location. Finally, you will learn why virtualization is important and what are the best practices for virtualization in QlikView.
Read more from Stephen Redmond
QlikView for Developers Cookbook Rating: 0 out of 5 stars0 ratingsQlikView Server and Publisher Rating: 5 out of 5 stars5/5
Related to Mastering QlikView
Related ebooks
Excel 2003 Power Programming with VBA Rating: 5 out of 5 stars5/5QlikView 11 for Developers Rating: 0 out of 5 stars0 ratingsMachine Learning in the AWS Cloud: Add Intelligence to Applications with Amazon SageMaker and Amazon Rekognition Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV 2013 Application Design Rating: 0 out of 5 stars0 ratingsSAS For Dummies Rating: 0 out of 5 stars0 ratingsQlikView Essentials Rating: 0 out of 5 stars0 ratingsLearning Qlik® Sense: The Official Guide Rating: 0 out of 5 stars0 ratingsThe SAM Leader Survival Guide: A Practical Success Guide for Software Asset Management Professionals Rating: 0 out of 5 stars0 ratingsJump Start Sass: Get Up to Speed With Sass in a Weekend Rating: 0 out of 5 stars0 ratingsCreating Stunning Dashboards with QlikView Rating: 0 out of 5 stars0 ratingsRuby on Rails for Agile Web Development Rating: 0 out of 5 stars0 ratingsGoogle Analytics Integrations Rating: 2 out of 5 stars2/5Master Data Management Solutions A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBusiness rules A Complete Guide Rating: 0 out of 5 stars0 ratingsSoftware Project Estimation Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsMastering Social Media Mining with R Rating: 5 out of 5 stars5/5Data vault modeling Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsJava Enterprise Design Patterns: Patterns in Java Rating: 2 out of 5 stars2/5Effective Business Intelligence with QuickSight Rating: 0 out of 5 stars0 ratingsA Career in Tech Rating: 0 out of 5 stars0 ratingsAWS Cloud Automation: Harnessing Terraform For AWS Infrastructure As Code Rating: 0 out of 5 stars0 ratingsDC Big Data Exploration Final Report Rating: 5 out of 5 stars5/5Business Intelligence and Analytics Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsData Virtualization: Selected Writings Rating: 0 out of 5 stars0 ratingsThe Power of APIs Leveraging Data and Services to Transform Your Business Rating: 5 out of 5 stars5/5A Practical Guide to Analytics for Governments: Using Big Data for Good Rating: 0 out of 5 stars0 ratingsMine for the Value - Introduction to Product Management for Retail/Consumer Banking Rating: 0 out of 5 stars0 ratingsWorkflow management system Third Edition Rating: 0 out of 5 stars0 ratingsOperational efficiency Standard Requirements Rating: 0 out of 5 stars0 ratings
Data Modeling & Design For You
Supercharge Power BI: Power BI is Better When You Learn To Write DAX Rating: 5 out of 5 stars5/5Data Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5The Secrets of ChatGPT Prompt Engineering for Non-Developers Rating: 5 out of 5 stars5/5Microsoft Access: Database Creation and Management through Microsoft Access Rating: 0 out of 5 stars0 ratingsData Visualization: a successful design process Rating: 4 out of 5 stars4/5150 Most Poweful Excel Shortcuts: Secrets of Saving Time with MS Excel Rating: 3 out of 5 stars3/5Thinking in Algorithms: Strategic Thinking Skills, #2 Rating: 4 out of 5 stars4/5Kafka in Action Rating: 0 out of 5 stars0 ratingsNo-Code Data Science: Mastering Advanced Analytics, Machine Learning, and Artificial Intelligence Rating: 5 out of 5 stars5/5Tableau Cookbook – Recipes for Data Visualization Rating: 0 out of 5 stars0 ratingsData Analytics with Python: Data Analytics in Python Using Pandas Rating: 3 out of 5 stars3/5Mastering Python Data Analysis Rating: 0 out of 5 stars0 ratingsAdvanced Deep Learning with Python: Design and implement advanced next-generation AI solutions using TensorFlow and PyTorch Rating: 0 out of 5 stars0 ratingsRaspberry Pi :Raspberry Pi Guide On Python & Projects Programming In Easy Steps Rating: 3 out of 5 stars3/5Neural Networks: Neural Networks Tools and Techniques for Beginners Rating: 5 out of 5 stars5/5Python Data Analysis Rating: 4 out of 5 stars4/5Data Warehousing: Optimizing Data Storage And Retrieval For Business Success Rating: 0 out of 5 stars0 ratingsBlockchain Data Analytics For Dummies Rating: 0 out of 5 stars0 ratingsPython All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsWordPress For Beginners - How To Set Up A Self Hosted WordPress Blog Rating: 0 out of 5 stars0 ratingsData Science Essentials For Dummies Rating: 0 out of 5 stars0 ratingsData Lake for Enterprises Rating: 0 out of 5 stars0 ratingsR All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsGraph Databases in Action: Examples in Gremlin Rating: 0 out of 5 stars0 ratingsMachine Learning Interview Questions Rating: 5 out of 5 stars5/5
Reviews for Mastering QlikView
1 rating0 reviews
Book preview
Mastering QlikView - Stephen Redmond
Table of Contents
Mastering QlikView
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Instant updates on new Packt books
Preface
Qlik Sense
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Performance Tuning and Scalability
Reviewing basic performance tuning techniques
Removing unneeded data
Reducing the number of rows
Reducing the number of columns
Replacing text keys with numbers
Resolving synthetic keys
Reviewing the basics
Generating test data
Generating dimension values
Generating fact table rows
Understanding how QlikView stores its data
A great primer
Looking at things from a simple level
Exporting the memory statistics for a document
Strategies to reduce the data size and improve performance
Optimizing field values and keys
Optimizing data by removing keys using ApplyMap
Optimizing performance by removing keys by joining tables
Optimizing memory by removing low cardinality fields
Testing chart performance for different load options
Turning the cache off
Examining the chart calculation time for different scenarios
Optimizing performance by creating counter fields
Optimizing performance by combining fact tables?
Optimizing your numbers
Optimizing chart calculation times
The QlikView calculation engine
Creating flags for well-known conditions
Sorting for well-known conditions
Using Direct Discovery
Direct Discovery restrictions
Direct Discovery syntax
Looking at an example Direct Query
Testing scalability with JMeter
Obtaining the scalability tools
Installing JMeter
Installing the scalability tools
About the scalability tools
Running an example execution
Summary
2. QlikView Data Modeling
Reviewing basic data modeling
Associating data
Automatically associating tables
Understanding synthetic keys
Creating composite keys
Using string concatenation
Using one of the Hash functions
Using the AutoNumber function
Realizing that facts are calculated at the level of their table
Joining data
Understanding Join and Keep
Inner joins
Left and right joins
Outer joins
Cartesian joins
Understanding the effect of duplicate key values on joins
Understanding Keep
Concatenating rows
Reviewing Concatenate
Differentiating Concatenate and Join
Mapping data with ApplyMap
Reviewing the basic functionality of ApplyMap
Mapping numbers
Using ApplyMap instead of Join with duplicate rows
Dimensional data modeling
Differentiating between facts and dimensions
Understanding the grain
Understanding star schemas
Summing with facts
Discovering more about facts
Transaction fact tables
Periodic snapshot fact tables
Factless fact tables
Dealing with nulls in fact tables in QlikView
Designing dimension tables
Denormalizing dimensions and conformed dimensions
Understanding surrogate keys
Dealing with missing or late arriving dimension values
Defining Kimball's four-step dimensional design process
Selecting the business process
Declaring the grain
Identifying the dimensions
Identifying the facts
Learning some useful reusable dimension methods
Creating a calendar dimension
Unwrapping hierarchies
Creating leaves with Hierarchy
Creating parent associations with HierarchyBelongsTo
Creating dimensional facts
Handling slowly changing dimensions
Taking the most recently changed record using FirstSortedValue
Using IntervalMatch with SCDs
Using hash to manage from/to dates
Dealing with multiple fact tables in one model
Joining the fact tables together
Concatenating fact tables
Changing the grain of a fact table
Linking fact tables of different grains
Drilling across with document chaining
Summary
3. Best Practices for Loading Data
Reviewing data loading concepts
Getting data from anywhere
Loading data from QlikView
Loading similar files with concatenation
Loading dissimilar files with Concatenate and For Each
Understanding QlikView Data files
Storing tables to QVD
Using QVD files
Understanding why you should use an ETL approach
Speeding up overall data loading
Reusing extracted data in multiple documents
Applying common business rules across multiple documents
Creating conformed dimensions
Provisioning a self-service data layer
Using an ETL approach to create QVD data layers
Creating a StoreAndDrop subroutine
Extracting data
Creating an extractor folder structure
Differentiating types of scripts
Executing the extractors
Transforming data
Creating a transformer and model folder structure
Executing transformers
Loading data
Creating a UserApp folder structure
Executing the load step
Mastering loading techniques
Loading data incrementally
Establishing the script for the basic process
Running an incremental load when data is only added
Loading incrementally when data might be modified
Handling deletions from the source system
Handling situations where there is no modify date
Partially reloading only one part of the data model
Replacing a table
Adding new rows to a table
Managing script execution in partial reloads
Loading the content of another QVW
Using QlikView Expressor for ETL
Introducing Expressor
Understanding why to use Expressor for ETL
Understanding workspaces, libraries, projects, and artifacts
Creating a workspace
Managing extensions
Working with libraries and projects
Understanding artifacts
Configuring connections
Configuring a File connection
Connecting to a database
Creating a QVX Connector Connection
Configuring types and schemas
Adding additional Atomic types
Creating Composite types
Configuring a schema
Creating and packaging a basic dataflow
Understanding the dataflow toolbox
Inputs
Outputs
Transformers
Utility
Creating the dataflow
Configuring a Read File operator
Adding a Transformation operation
Creating a QVX output
Packaging the dataflow
Summary
4. Data Governance
Reviewing basic concepts of data governance
Understanding what metadata is
Structural metadata
Descriptive metadata
Administrative metadata
Establishing descriptive metadata
Adding document-level information
Documents without any additional metadata
Document Properties
Management Console
Naming and renaming fields
Guidelines to rename fields
Dimensions
Key fields
Measures
Renaming fields using As
Using Qualify
Renaming fields using Rename
Using a mapping table to rename fields
Tagging fields
Using the Tag statement to tag a field
Tagging fields using a mapping table
Hiding fields
Hiding fields automatically based on prefix or suffix
Using tagging to hide fields
Adding field comments
Renaming and commenting on tables
Commenting in charts
Commenting dimensions
Entering an expression comment
Automatically renaming qualified fields
Extracting metadata
Exporting the structure
Extracting from QVD files
Extracting from QVW files
Deploying the QlikView Governance Dashboard
Managing profiles
Configuring the Dashboard options
Reviewing operational information
Analyzing application information
Summary
5. Advanced Expressions
Reviewing basic concepts
Searching in QlikView
Searching for text
Wildcard search
Normal search
Fuzzy search
Associative search
Advanced search
Searching numeric fields
Numeric search
Automatic interpretation of searches
Multiple values search
Searching in multiple listboxes
Understanding bookmarks
Saving a bookmark
Managing bookmarks
Using variables in QlikView
SET versus LET
Using variables to hold common expressions
Using variables with Dollar-sign Expansion
Limiting calculations
Sum of If
Flag arithmetic
Calculations using variables
Data islands
Set Analysis
Explaining what we mean by a set
Set identifiers
Set modifiers
Understanding Dollar-sign Expansion
Following the two-step process
Following the steps in the script debugger
Following the steps in a chart expression
Understanding when the steps happen in chart expressions
Using parameters with variables and Dollar-sign Expansion
Using variables in expressions
Using advanced Set Analysis
Identifying the identifiers
Understanding that modifiers are sets
Set arithmetic
Using searches in Set Analysis
Using Dollar-sign Expansion with Set Analysis
Comparing to other fields
Direct field comparison
Using Concat with Dollar-sign Expansion
Using the P and E element functions
Set Analysis with Alternate States
Using Alternate States as identifiers
Comparing fields between states
Calculating vertically
Using inter-record and range functions
Applying the Total qualifier
Creating advanced aggregations with Aggr
Using Aggr to calculate a control chart
Calculated dimensions
No to nodistinct
Summary
6. Advanced Scripting
Reviewing the basic concepts
Using Table Files Wizard
Using relative paths
Delimited files
Fixed width files
XML files
HTML files
QVD/QVX files
Connecting to databases
Using the Connect button
Understanding the Connect To statement
Explaining the Force 32 Bit option
The Select wizard
Counting records
RecNo
RowNo
FieldValueCount
NoOfRows
NoOfColumns
Loading data quickly
Understanding compression settings
Optimal loading from QVD
Using an Exists clause
Preloading fields into QVDs
Applying variables and the Dollar-sign Expansion in the script
Examining common usage
Holding dates
Holding paths
Examining variable values during reloads
Nesting Dollar-sign Expansions
Passing parameters to variables – macro functions
Subroutines
Using control structures
Branching with conditional statements
If … Then … ElseIf
A note about conditional functions
Switch … Case
When and Unless
Looping in the script
AutoGenerate
For … Next loops
For Each … Next loops
FileList
DirList
Do … Loop
Exiting
Exiting the script
Exiting other constructs
Using variables for error handling
ErrorMode
ScriptError
ScriptErrorCount and ScriptErrorList
Examining advanced Table File Wizard options
Enabling a transformation step
Garbage
Fill
Column
Context
Unwrap
Rotate
Using the Crosstable wizard
Looking at data from different directions
Putting things first
First
FirstSortedValue
Looking backwards
Previous
Peek
Reusing code
Summary
7. Visualizing Data
Reviewing the history of data visualization
Beginning the story
Analyzing geometry
Grecian influences
French discord
Telling stories with diagrams
Educating with charts
Inventing new charts
Creating infographics
Using data visualization to persuade
Bringing the story up to date
Following the leaders
Edward Tufte
Few
Robert Kosara
Alberto Cairo
Andy Kirk
Enrico Bertini and Stefaner Moritz
Mike Bostock
Understanding the audience
Matching patterns
Counting numbers
Estimating numbers
Understanding picture superiority
Drawing conclusions
Designing effective visualizations
Understanding affordances
Grading your screen's real estate
Nielsen's F
The Gutenberg diagram
Preference for the right
Positioning screen elements
Charts on the left
Listboxes on the right
Dates on top
Using the layout grid
Thinking quantitatively
Understanding the SFW question
Designing dashboards
Choosing charts
Categorical comparison
Trend analysis
Comparing measures
Low cardinality, part-to-whole comparison
Tabular information
Using color
Color should have meaning
What does RAG mean?
The ink-to-data ratio
Color blindness
Using maps
Summary
Index
Mastering QlikView
Mastering QlikView
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2014
Production reference: 1191114
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78217-329-8
www.packtpub.com
Credits
Author
Stephen Redmond
Reviewers
Ralf Becher
Gert Jan Feick
Miguel Ángel García
Barry Harmsen
Commissioning Editor
Akram Hussain
Acquisition Editor
Kevin Colaco
Content Development Editors
Samantha Gonsalves
Azharuddin Sheikh
Technical Editors
Mrunal M. Chavan
Dennis John
Copy Editors
Maria Gould
Paul Hindle
Deepa Nambiar
Project Coordinator
Kinjal Bari
Proofreaders
Simran Bhogal
Ameesha Green
Paul Hindle
Indexers
Priya Sane
Tejal Soni
Graphics
Abhinash Sahu
Production Coordinator
Manu Joseph
Cover Work
Manu Joseph
About the Author
Stephen Redmond is the CTO and Qlik Luminary at CapricornVentis (http://www.capventis.com)—a QlikView Elite Partner. He is the author of several books, including QlikView for Developers Cookbook and QlikView Server and Publisher, both published by Packt Publishing. He is also the author of the popular DevLogix series for SalesLogix developers.
In 2006, after many years of working with CRM systems, reporting and analysis solutions, and data integration, Stephen started working with QlikView. Since then, CapricornVentis has become QlikView's top partner in the UK and Ireland territories, and with Stephen as the head of the team, they have implemented QlikView in a wide variety of enterprise and large-business customers across a wide range of sectors, from public sector to financial services to large retailers.
In 2014, Stephen was awarded the Luminary status by Qlik in recognition of his product advocacy. He regularly contributes to online forums, including the Qlik Community. His QlikView blog is at http://www.qliktips.com, and you can follow him on Twitter at @stephencredmond where he tweets about QlikView, BI, data visualization, technology in general, and occasionally, on marathon running.
As always, thanks to my family for their constant support—I couldn't do this without them.
Thanks to the technical reviewers—they helped me remain honest and make this a better publication.
Special thanks to Colman Walsh of UXTraining.ie for his permission to reuse his photograph that so well represents a Donald Door—I have been using it for several years in presentations and I am delighted to be able to use it here.
About the Reviewers
Ralf Becher has worked as an IT system architect and as an IT consultant since 1989 in banking, insurance, logistics, automotive, and retail sectors. He founded TIQ Solutions GmbH in 2004 with his partners. The company specializes in modern, quality-assured data management.
Since 2004, they have been helping their customers process, evaluate, and maintain the quality of company data, helping them introduce, implement, and improve complex solutions in the fields of data architecture, data integration, data migration, master data management, metadata management, data warehousing, and Business Intelligence.
Ralf is an internationally recognized QlikView expert with a strong position in the Qlik Community. He started working with QlikView in 2006 and has contributed QlikView add-on solutions for data quality and data integration, especially for connectivity in the Java and Big Data realms. He runs his QlikView data integration blog at http://tiqview.tumblr.com/.
Gert Jan Feick studied Informatics (language, knowledge, and interaction) at Technical University of Enschede (NL). He started his career as a project manager at a medium-sized software development company, specializing in requirements analysis and project management. From 2005 onward, he was responsible for the buildup of a company in the areas of software development, reporting and visualizations, and analysis. In 2011, he moved to Germany and became a management consultant at Infomotion GmbH, where he is responsible for the team that works on self-service and Agile BI as well as reporting and analysis.
He regularly contributes to online forums (including the Qlik Community), speaks at conventions, and writes articles. You can follow him on Twitter at @gdollen where he tweets about QlikView, Agile and self-service BI, data visualization, and other topics in general.
Miguel Ángel García is a Business Intelligence consultant and QlikView Solutions Architect, based in Monterrey, Mexico. Having worked throughout many successful QlikView implementations, from inception through implementation, and performed across a wide variety of roles on each project; his experience and skills range from presales to applications development and design, technical architecture, system administration, as well as functional analysis and overall project execution.
He is the co-author of QlikView 11 for Developers, Packt Publishing, which was published in November 2012, and its corresponding translation into Spanish, QlikView 11 para Desarrolladores, Packt Publishing, published in December 2013. He has also worked as a technical reviewer for several other QlikView books.
He is the cofounder of Q-On Training Center (www.q-on.bi), a place where users, developers, and enthusiasts can get access to online QlikView training, with options that cover all the skill levels.
He currently holds the QlikView Designer, QlikView Developer, and QlikView System Administrator certifications issued by Qlik, for Versions 9, 10, and 11.
In 2014, he was awarded the Qlik Luminary distinction in recognition for his active participation and collaboration in the QlikView ecosystem.
Barry Harmsen is the owner of Bitmetric, a boutique consulting firm that specializes in QlikView and is based in the Netherlands. Originally from a background of traditional Business Intelligence, data warehousing, and performance management; in 2008 he made the shift to QlikView and a more user-centric form of Business Intelligence.
Since switching over to QlikView, Barry and his team have completed many successful implementations in many different industries, from financial services to telecom and from manufacturing to healthcare. His QlikView experience covers a wide variety of roles and subjects including requirements analysis, design, development, architecture, infrastructure, system administration, integration, project management, and training.
In 2012, he co-authored QlikView 11 for Developers, Packt Publishing. This book has quickly established itself as one of the best ways to teach yourself QlikView. He is also one of the core speakers at the Masters Summit for QlikView. This 3-day conference for QlikView developers covers advanced topics and is designed to take your QlikView skills to the next level. More information about the Masters Summit can be found at www.masterssummit.com.
Barry maintains a QlikView blog at www.qlikfix.com and can be followed on Twitter at @meneerharmsen.
www.PacktPub.com
Support files, eBooks, discount offers, and more
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
Instant updates on new Packt books
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter or the Packt Enterprise Facebook page.
Preface
This is a book about mastery. But what does this mean? What does being a QlikView master mean?
When I wrote QlikView for Developers Cookbook, Packt Publishing, I started the preface with the sentence:
There is no substitute for experience.
When it comes to QlikView, experience is the thing that makes a difference. Experience is the difference between the developers who can create good applications and the consultants who can create real business solutions that solve real business problems.
I have been working with QlikView since 2006, and in this time, I have created some fantastic solutions. I also created applications that I cringe to look at today. I like to think that I have mastered the subject, even though I am still learning.
At CapricornVentis, I work with one of the brightest bunch of consultants; it has ever been my pleasure to work with them. I get to teach a lot but I also get to learn a tremendous amount from these guys. We are constantly pushing the boundaries of the product to get to the right solution. As a beginner in this area, I would have wanted to work for an organization like CapricornVentis, where I could really learn and grow as a consultant.
Let's be clear; I do not know every little detail about QlikView, but I do know most of them. What I think I know, and know really well, are the important things to know about when creating QlikView solutions. This knowledge is what I have tried to distil down into this book.
You won't be a master by just reading this book. As Alfred Korzybski famously stated:
The map is not the territory.
This book is not an ultimate mastering guide, rather is a like a map that guides us towards our common destination—to become a QlikView master. Study the map well and you will get there.
Qlik Sense
During the development of this book, Qlik released their next generation product, Qlik Sense. Qlik Sense is not, currently, a replacement product for QlikView, and Qlik has announced that they will have a two-product strategy and sell QlikView for guided BI applications and Qlik Sense for self-service BI applications. A new version, QlikView 12.0, is slated for release in the second half of 2015.
While Qlik Sense is a new product, it is built on the same heritage as QlikView. There is a new data engine, QIX, that stores the data in a format more columnar than that of QlikView. However, the inference engine is still the same (green, white, and gray). The script syntax is still the same; in fact, we can use QlikView scripts in Qlik Sense. The frontend is very different because it is based on a new web design, but the expression syntax is still the same.
Therefore, much of what is written in this book about QlikView will still apply to Qlik Sense. Anyone who masters QlikView will be well on their way to mastering Qlik Sense.
What this book covers
Chapter 1, Performance Tuning and Scalability, is where we look at understanding how QlikView stores its data so that we can optimize that storage in our applications. We will also look at topics such as Direct Discovery and testing implementations using JMeter.
Chapter 2, QlikView Data Modeling, looks in detail at dimensional data modeling and learning about fact and dimension tables and using best practices from Ralph Kimball in QlikView. We also learn about how to handle slowly changing dimensions (SCDs), multiple fact tables, and drilling across with document chaining.
Chapter 3, Best Practices for Loading Data, is where we look at implementing ETL strategies with QVD files. We also introduce QlikView Expressor.
Chapter 4, Data Governance, looks at areas such as implementing metadata in QlikView and managing our implementation with QlikView Governance Dashboard.
Chapter 5, Advanced Expressions, is where we look at areas such as the Dollar-sign Expansion, set analysis, and vertical calculations using Total and Aggr.
Chapter 6, Advanced Scripting, looks at optimizing loads, Dollar-sign Expansion in the script, and control structures. We also introduce the concept of code reuse.
Chapter 7, Visualizing Data, is where we look at the historical background to data visualization; we gain an understanding of the human relationship with numbers and learn some good design principles to bring to our applications.
What you need for this book
You need a copy of QlikView Desktop, which you can download for free from http://www.qlikview.com/download. After this, you shouldn't need anything else. You can also test the examples in Qlik Sense.
To demonstrate the different techniques and functions, I will usually get you to load a table of data. We do this using the INLINE function. For example:
Load * Inline [
Field1, Field2
Value1, Value2
Value3, Value4
];
This will load a table with two fields, Field1 and Field2, and two rows of data.
Most of the time, this type of table is enough for what we need to do. In a few examples, where I need you to use more data than that, we will use publicly available data sources.
Who this book is for
This is not a beginner's book. This book is for anyone who has learned QlikView or Qlik Sense—either from formal training, online resources, or QlikView 11 for Developers, Miguel García and Barry Harmsen, Packt Publishing—and now wants to take their learning to a higher level.
Conventions
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: In the QVScriptGenTool_0_7 64Bit\Analyzer folder there is a ZIP file called FolderTemplate.zip.
A block of code is set as follows:
Sales:
Load * INLINE [
Country, Sales
USA, 1000
UK, 940
Japan, 543
];
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
Sales:
Load * INLINE [
Country, Sales
USA, 1000
UK, 940
Japan, 543
];
Any command-line input or output is written as follows:
C:\Program Files\QlikView\qv.exe
New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: Click on the Execution tab.
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.
To send us general feedback, simply e-mail <[email protected]>, and mention the book's title in the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us at <[email protected]>, and we will do our best to address the problem.
Chapter 1. Performance Tuning and Scalability
The way Moore's Law has benefitted QlikView is really unprecedented amongst other BI systems.
QlikView began life in 1993 in Lund, Sweden. Originally titled QuickView
, they had to change things when they couldn't obtain a copyright on that name, and thus QlikView
was born.
After years of steady growth, something really good happened for QlikView around 2005/2006—the Intel x64 processors became the dominant processors in Windows servers. QlikView had, for a few years, supported the Itanium version of Windows; however, Itanium never became a dominant server processor. Intel and AMD started shipping the x64 processors in 2004 and, by 2006, most servers sold came with an x64 processor—whether the customer wanted 64-bit or not. Because the x64 processors could support either x86 or x64 versions of Windows, the customer