47,99 €
Business Intelligence technologies are a must-have in every business to make informed decisions and keep up-to speed with the ever-evolving markets. QlikView's disruptive technology makes it a key player and leader in the industry; with its flexibility and powerful analytics environment, building QlikView apps can be mastered by both, business users as well as developers.
This book will help you learn QlikView Development from a basic to a practitioner level using a step-by-step approach in a practical environment, and apply proven best practices on each topic.
Throughout the book, we will build a QlikView app based on real data about Airline Operations that will help "HighCloud Airlines" make informed business decisions and analysis-guided strategies. HighCloud Airlines executives are evaluating if entering the US market is a good strategy and, if so, which line of business should they focus their investments on; they need QlikView to make the best decision.
The application will be evolving chapter by chapter, along with your skills, going from a simple proof of concept to creating a Data Model, adding a custom style, building a Dashboard and handling and manipulating the source data via script. We will meet the "HighCloud Airlines" requirement by using many different data visualization objects and time-saving techniques.
The whole application uses real data taken from the Bureau of Transportations statistics of the US and encompasses the operations of Airlines both domestic and international. With three years worth of data, you will help HighCloud Airlines discover where people travel the most, which are the Carriers with the most market share, what is the average load factor per airline, which aircraft is the most used to perform flights, which are the busiest airports, and a whole universe of new insights.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 649
Veröffentlichungsjahr: 2012
Copyright © 2012 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 authors, 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 2012
Production Reference: 1161112
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84968-606-8
www.packtpub.com
Cover Image by Barry Harmsen (<[email protected]>)
Authors
Miguel García
Barry Harmsen
Reviewers
Ralf Becher
Steve Dark
Stephen Redmond
Acquisition Editors
Rashmi Phadnis
Joanne Fitzpatrick
Lead Technical Editor
Ankita Shashi
Technical Editor
Nitee Shetty
Copy Editors
Aditya Nair
Alfida Paiva
Project Coordinators
Sai Gamare
Anugya Khurana
Proofreaders
Joel Johnson
Bob Phillips
Indexers
Monica Ajmera Mehta
Rekha Nair
Tejal Soni
Graphics
Aditi Gajjar
Production Coordinator
Nilesh R. Mohite
Cover Work
Nilesh R. Mohite
At QlikTech we often describe ourselves as "an American company with a Swedish soul". We celebrate our roots in the delightful and urbane university town of Lund in southern Sweden; indeed, the development teams who built QlikView are still mostly based there. We power our business from our headquarters and major offices in Philadelphia, Boston, and San Mateo.
Nevertheless, we have more than a Swedish soul and a US business; in fact the QlikView community of customers, partners, and consultants is truly international. To understand that scope, you need only look at the authors of this excellent new book. Barry Harmsen is well known in the Netherlands as an independent Business Intelligence consultant. He is undoubtedly a star of the QlikTech community. Miguel García, from Mexico, has worked globally consulting on QlikView.
The sheer range of experience that Barry and Miguel bring to this book is one of its most valuable qualities. Their examples are carefully thought out, and very thorough; but they also take time to explain the business background to their thinking.
At QlikTech we often say that QlikView is not so much a tool for Business Intelligence as it is a platform for Business Discovery. This is not just a marketing term: we do not want only something different to say. In fact, every day we see customers making discoveries—finding new information and insights—with QlikView.
A traditional BI report simply tells you what you already know and is packaged and formatted to keep that knowledge up-to-date and share it easily. A typical dashboard enables you to track key indicators and, with some good design, also "drill down" to understand the details or trends underlying those indicators. But Business Discovery does this and more. Business Discovery enables users to formulate new questions and explore the answers and implications with very few restrictions.
From the very first chapter, Barry and Miguel show you exactly how this happens. Here, they introduce the associative model that makes QlikView so powerful, along with the clues in the user interface (look for the green, white, and grey) that make this model easy to use.
As they progress along a thoroughly practical path, the authors introduce you to the mechanics of collecting data from sources. They guide you through numerous techniques for transforming, modeling, and exploring this data. They provide practical advice on best practices for security, visualization, and more complex analyses.
In short, for new developers, this is an excellent guide to get them started. For more experienced users, the thoughtful examples and careful notes make this an excellent companion in your work.
Donald Farmer,
VP Product Management, QlikTech.
Miguel García is a Business Intelligence Consultant and QlikView Solutions Architect from 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 applications development and design, to pre-sales, technical architecture, system administration, as well as functional analysis and overall project execution.
He currently holds the QlikView Designer and QlikView Developer Certifications, backed by QlikTech, for versions 9, 10, and 11.
His passion for QlikView led him to create and host the iQlik's blog (http://iqlik.wordpress.com). You can follow his blog updates via Twitter on @iQlik.
He currently works for DataIQ, a QlikView consulting firm with presence in Argentina, Mexico, Uruguay, and Paraguay.
I want to thank my family for their understanding and support throughout all the projects and endeavors I undertake.
Barry Harmsen is an independent Business Intelligence Consultant 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 then he has completed many successful QlikView implementations in many different industries, from Financial Services to Telecoms, and from Manufacturing to Healthcare. He writes a QlikView blog at QlikFix.com.
I would like to thank my daughter Lucie, my son Lex, and especially my wife Miranda for their support and patience during the writing of this book.
Writing a book is not a solo - or duo - exercise. This result could not have been achieved without the contributions of a great team.
We want to thank Donald Farmer for writing the foreword and for helping us acquire permission to use some of QlikTech's materials in this book. Thanks to John Trigg for supporting this project as well.
Ralf Becher, Steve Dark, and Stephen Redmond performed the technical review of this book. Their insightful comments and suggestions have added an extra dimension of quality to the book. For that we thank them.
We also want to thank everyone on Packt's editorial team; Rashmi Phadnis, Joanne Fitzpatrick, Sai Gamare, Anugya Khurana, Ankita Shashi, and Nitee Shetty. Their guidance kept us focused and on track.
Ralf Becher was born in 1968. He had his apprenticeship as an Information Technology Officer at the Leipzig Graduate School of Management (HHL) in 1992. He worked as an IT System Architect and as an IT Consultant in the areas of banking, insurance, logistics, automotive, and retail. He co-founded TIQ Solutions in 2004.
The Leipzig Company specializes in modern, quality-assured data management; since 2004 it has been helping its customers process, evaluate, and maintain the quality of company data. TIQ Solutions supports its customers from the initial problem analysis on, helping them introduce, implement, and improve complex solutions in the fields of data architecture, data integration, data migration, master data management, meta-data management, data warehousing, and business intelligence.
He is an internationally recognized QlikView expert with a strong position in the community. He has contributed QlikView add-on solutions for data integration, especially in the Java and Big Data realm.
Steve Dark was a SQL Server / MS ASP developer, building web based reporting solutions for ten years, until he was shown a demo of QlikView. Soon after this revelation, he left his previous employer to set up Quick Intelligence—a consultancy focusing entirely on QlikView and delivering Business Intelligence solutions. Preferring to stay at the coalface, he spends the majority of his time with clients, building QlikView applications, managing servers, and running projects.
He will never tire of showing QlikView to new users and seeing that "jaw drop moment".
He is active on QlikCommunity and other social media sites, where he shares his enthusiasm for QlikView and assists other users. Through his blog he shares tutorials, examples, and insights about QlikView. Read it at http://www.quickintelligence.co.uk/.
I would like to thank Barry and Miguel for writing this book and the publishers for making it possible. I honestly believe it fills a vital gap in the QlikView universe.
Stephen Redmond is the CTO of CapricornVentis Limited (http://www.capventis.com), a QlikView elite partner. He is the author of several books, including the very popular DevLogix series for SalesLogix developers.
After many years working with CRM systems, reporting and analysis solutions, and data integration, in 2006 he started working with QlikView. Since then, CapricornVentis have become QlikView's top partner in the UK and Ireland territory and, with Stephen as the head of the team, 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.
He regularly contributes to online forums, including the Qlik Community. His QlikView blog is at http://qliktips.blogspot.com and you can follow him on Twitter—@stephencredmond—where he tweets about QlikView, BI, data visualization, and technology in general.
You might want to visit www.PacktPub.com for support files and downloads related to your book.
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 <[email protected]> for more details.
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.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page
Dedicated to our families.
Miguel García
Barry Harmsen
The need for Business Intelligence (BI) solutions and data analysis has always existed, and so have different approaches to fulfill this need. Traditional BI software has heavily relied on techniques that have been around and persisted through the decades, but newer technologies have emerged in recent times that have proven to be more flexible and, therefore, more adequate for the evolving environment in which they are used. QlikView is an example of this kind of disruptive technology, a kind of software that changes the rules of the game.
QlikView is different; that's a fact. It's different in an advantageous way. If you have worked with traditional BI software before, it might be necessary to let go of some of the preconceptions you may have regarding how BI solutions are built. If, on the other hand, you are a newcomer to the BI landscape, we will help you get the basics in order for you to get up-to-speed. In any case, rest assured that you are on the right track by having picked QlikView as your tool and this book as your guide.
The good news is the material between these covers has been written in such a way that newcomers, BI professionals experienced in other tools, and even seasoned QlikView practitioners, will find useful. This book will provide you with the knowledge required to understand how QlikView works, and the skills needed to build QlikView documents from start to finish: from loading data to building charts. Even if you have worked with QlikView before, you will find that the exercises presented in each chapter, and the recommended practices we discuss, will help you extend your knowledge and become more proficient with QlikView.
Among other features you will find in this book, some of the most important are:
Congratulations on taking a step towards learning to develop Business Intelligence applications with QlikView. Are you ready for take off? Qlik On!
Chapter 1, Meet QlikView, introduces QlikView and shows how it can be used to explore data. We will also learn about the technology and components behind QlikView and will be introduced to the case that is used throughout the book: HighCloud Airlines.
Chapter 2, Seeing is Believing, helps us get hands-on with QlikView by building a simple QlikView document. We will learn what dimensions and expressions are in the context of a QlikView document. We will also learn to build simple charts to visualize and aggregate data, and how to design a basic user interface for navigating through the QlikView document.
Chapter 3, Data Sources, will help us learn how to load data from different sources and how to extract data using the built-in wizards. We will also take a closer look at QlikView's proprietary data files.
Chapter 4, Data Modeling, explains which type of data model is best suited for QlikView. We will see which "rules" need to be followed when designing a QlikView data model and will also learn how best to take advantage of the associative data model to make our documents highly dynamic.
Chapter 5, Styling Up, will help us learn how to style our QlikView documents. We will learn about the various document and sheet properties and will use them to manage the visual style of our document. We will also take a closer look at some of the most fundamental objects and learn how we can change their appearance.
Chapter 6, Building Dashboards, introduces us to the three basic types of QlikView users, and how we can best cater to their needs. We will learn about the various charting options that are available in QlikView, and will see how we can add interactivity to our QlikView documents. We will also be introduced to basic calculations.
Chapter 7, Scripting, introduces us to the QlikView scripting language and editor. We will learn about the most important script statements, and how we can use them to manipulate data and control the flow of the script. We will also be introduced to some of the most important operators and functions for dealing with various data types. Finally, we will look at the options for debugging scripts, how to organize and standardize scripts, and how we can reuse our scripts.
Chapter 8, Data Modeling Best Practices, expands on the knowledge about data modeling and scripting we gained in earlier chapters. We will learn how to make sure that data models are consistent and how to work with complex data models and multiple fact tables. We will also learn how to reduce storage requirements for a data set and how to best deal with date and time information.
Chapter 9, Basic Data Transformation, focuses on how to deal with unstructured data and how to transform it for use in our QlikView data model. We will learn about basic data transformation subjects, such as cleansing data and how to restructure pivoted and hierarchical tables for inclusion in the QlikView data model.
Chapter 10, Advanced Expressions, we will learn more about the use of variables. We will also learn how to use conditional functions and how to handle advanced aggregations.
Chapter 11, Set Analysis and Point In Time Reporting, takes a closer look at Set Analysis and will explain how it can be used for Point In Time Reporting. We will also learn about comparative analysis using alternate states.
Chapter 12, Advanced Data Transformation, returns to the topic of data transformation. We will learn about the most commonly used data architectures that can ease QlikView development and administration. Next, we will take a close look at aggregating and sorting data in the data model. In the final part of the chapter, we will learn how to take advantage of some of QlikView's most powerful data transformation capabilities.
Chapter 13, More on Visual Design and User Experience, gives us a closer look at the visual design of our QlikView documents and will learn how to create a consistent user interface. The second part of the chapter introduces us to some additional options for making our documents more interactive, and proactive.
Chapter 14, Security, shows us how to secure our QlikView documents. We will see how to allow only authorized users to open our documents and will learn how we can limit what a user can do and see within our document.
To use this book, you primarily need the QlikView Desktop software. If you do not yet have this software, Chapter 1, Meet QlikView, explains how to obtain it. With regards to computer requirements, you will need a PC with at least Windows XP (or better), 2 GB of hard disk space, and 2 GB of RAM. A 32-bit machine can be used, but a 64-bit machine is recommended for this book and QlikView development in general.
For best understanding, a general knowledge of Business Intelligence and its terminology is required. Basic understanding of databases and SQL is preferred, but not compulsory for this book.
This book is aimed at developers and power users who want to learn how to develop Business Intelligence applications with QlikView. Developers who have already been using QlikView for some time may find that this book contains useful tips and best practices to make more effective use of QlikView.
This book only covers QlikView Desktop. Deployments to QlikView Server and Publisher are beyond the scope of this book. The book is not aimed at QlikView Server Administrators.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: " Import this connection into every QVW via an include statement."
A block of code is set as follows:
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "We will now click on Test Connection to make sure the connection is established ".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>, and mention the book title through 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 on www.packtpub.com/authors.
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.
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. 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.
"QlikTech makes no representations or warranties with respect to the accuracy or completeness of the contents of the Book or the QlikView Materials referenced herein and specifically disclaims all warranties, including without limitation warranties of fitness for a particular purpose. The advice and strategies contained in the Book or the QlikView Materials may not be suitable for every situation. QlikTech shall not be liable for any damages, claims, costs, or causes of action, whether known or unknown, arising from the Book."
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 would 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/support, selecting your book, clicking on the erratasubmissionform 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.
Piracy of copyright 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.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
Congratulations on your decision to start learning QlikView development! You are now well on your way to building and delivering analytical applications which will help you and your organization quickly gain new insights and make fact-based decisions.
Before we dive in and start building all sorts of wonderful things, we first need to review some of the basics. This first chapter introduces us to the business end of QlikView. We will discover what QlikView is, how it's different from other tools, and how we can explore and interact with our data within a QlikView document. Of course, this being a technical book, we will also be looking at the various technical components that QlikView consists of. This chapter concludes with an introduction to HighCloud Airlines, the case we will be working on throughout the book.
In this chapter, specifically, we will look at:
First, let's look at what QlikView is, what we can do with it, and how it differs from other solutions that are available on the market.
QlikView is developed by QlikTech, a company that was founded in Sweden in 1993, but has since moved its headquarters to the US. QlikView is a tool used for Business Intelligence, often shortened to BI. Business Intelligence is defined by Gartner, a leading industry analyst firm, as:
An umbrella term that includes the application, infrastructure and tools, and best practices that enable access to and analysis of information to improve and optimize decisions and performance.
Following this definition, QlikView is a tool that enables access to information in order to analyze this information, which in turn improves and optimizes business decisions and performance.
Historically, BI has been very much IT-driven. IT departments were responsible for the entire Business Intelligence life cycle, from extracting the data to delivering the final reports, analyses, and dashboards. While this model works very well for delivering predefined static reports, most businesses find that it does not meet the needs of their business users. As IT tightly controls the data and tools, users often experience long lead-times whenever new questions arise that cannot be answered with the standard reports.
QlikTech prides itself in taking an approach to Business Intelligence that is different from what companies such as Oracle, SAP, and IBM—described by QlikTech as traditional BI vendors—are delivering. They aim to put the tools in the hands of business users, allowing them to become self-sufficient because they can perform their own analyses.
Independent industry analyst firms have noticed this different approach as well. In 2011, Gartner created a subcategory for DataDiscovery tools in its yearly market evaluation, the Magic Quadrant Business Intelligence platform. QlikView was named the poster child for this new category of BI tools.
QlikTech chooses to describe itself as a BusinessDiscovery enterprise instead of Data Discovery enterprise. It believes that discovering business insights is much more important than discovering data. The following diagram outlines this paradigm:
Besides the difference in who uses the tool—IT users versus business users—there are a few other key features that differentiate QlikView from other solutions.
The main difference between QlikView and other BI solutions is the associativeuserexperience. Where traditional BI solutions use predefined paths to navigate and explore data, QlikView allows users to take whatever route they want. This is a far more intuitive way to explore data. QlikTech describes this as "working the way your mind works."
An example is shown in the following image. While in a typical BI solution, we would need to start by selecting a Region and then drill down step-by-step through the defined drill path, in QlikView we can choose whatever entry point we like—Region, State, Product, or Sales Person. We are then shown only the data related to that selection, and in our next selection we can go wherever we want. It is infinitely flexible.
Additionally, the QlikView user interface allows us to see which data is associated with our selection.
For example, the following screenshot (from QlikTech's What's New in QlikView 11 demo document) shows a QlikView Dashboard in which two values are selected. In the Quarter field, Q3 is selected, and in the Sales Reps field, Cart Lynch is selected. We can see this because these values are green, which in QlikView means that they have been selected. When a selection is made, the interface automatically updates to not only show which data is associated with that selection, but also which data is not associated with the selection. Associated data has a white background, while non-associated data has a gray background. Sometimes the associations can be pretty obvious; it is no surprise that the third quarter is associated with the months July, August, and September. However, at other times, some not-so-obvious insights surface, such as the information that Cart Lynch has not sold any products in Germany or Spain. This extra information, not featured in traditional BI tools, can be of great value, as it offers a new starting point for investigation.
QlikView's core technological differentiator is that it uses an in-memorydatamodel, which stores all of its data in RAM instead of using disk. As RAM is much faster than disk, this allows for very fast response times, resulting in a very smooth user-experience.
In a later part of this chapter, we will go a bit deeper into the technology behind QlikView.
There is also a difference between QlikView and traditional BI solutions in the way it is typically rolled out within a company. Where traditional BI suites are often implemented top-down—by IT selecting a BI tool for the entire company—QlikView often takes a bottom-up adoption path. Business users in a single department adopt it, and its use spreads out from there.
QlikView is free of charge for single-user use. This is called the PersonalEdition or PE. Documents created in Personal Edition can be opened by fully-licensed users or deployed on a QlikView server. The limitation is that, with the exception of some documents enabled for PE by QlikTech, you cannot open documents created elsewhere, or even your own documents if they have been opened and saved by another user or server instance.
Often, a business user will decide to download QlikView to see if he can solve a business problem. When other users within the department see the software, they get enthusiastic about it, so they too download a copy. To be able to share documents, they decide to purchase a few licenses for the department. Then other departments start to take notice too, and QlikView gains traction within the organization. Before long, IT and senior management also take notice, eventually leading to enterprise-wide adoption of QlikView.
QlikView facilitates every step in this process, scaling from single laptop deployments to full enterprise-wide deployments with thousands of users. The following graphic demonstrates this growth within an organization:
As the popularity and track record of QlikView have grown, it has gotten more and more visibility at the enterprise level. While the adoption path described before is still probably the most common adoption path, it is not uncommon nowadays for a company to do a top-down, company-wide rollout of QlikView.
Now that we know what QlikView is and how it is different from traditional BI offerings, we will learn how we can explore data within QlikView.
Of course, before we can start exploring, we need to install QlikView. You can download QlikView's Personal Edition from http://www.qlikview.com/download. You will be asked to register on the website, or log in if you have registered before.
Registering not only gives you access to the QlikView software, but you can also use it to read and post on the QlikCommunity (http://community.qlikview.com) which is the QlikTech's user forum. This forum is very active and many questions can be answered by either a quick search or by posting a question.
Installing QlikView is very straightforward, simply double-click on the executable file and accept all default options offered. After you are done installing it, launch the QlikView application. QlikView will open with the start page set to the Getting Started tab, as seen in the following screenshot:
The example we will be using is the Movie Database, which is an example document that is supplied with QlikView. Find this document by scrolling down the Examples list (it is around halfway down the list) and click to open it. The opening screen of the document will now be displayed:
Most QlikView documents are organized into multiple sheets. These sheets often display different viewpoints on the same data, or display the same information aggregated to suit the needs of different types of users. An example of the first type of grouping might be a customer or marketing view of the data, an example of the second type of grouping might be a KPI dashboard for executives, with a more in-depth sheet for analysts.
Navigating the different sheets in a QlikView document is typically done by using the tabs at the top of the sheet, as shown in the following screenshot. More sophisticated designs may opt to hide the tab row and use buttons to switch between the different sheets.
The tabs in the Movie Database document also follow a logical order. An introduction is shown on the Intro tab, followed by a demonstration of the key concept of QlikView on the How QlikView works tab. After the contrast with Traditional OLAP is shown, the associative QlikView Model is introduced. The last two tabs show how this can be leveraged by showing a concrete Dashboard and Analysis:
As we saw when we learned about the associative user experience, any selections made in QlikView are automatically applied to the entire data model. As we will see in the next section, slicing and dicing your data really is as easy as clicking and viewing!
But where should we click? QlikView lets us select data in a number of ways. A common method is to select a value from a list-box. This is done by clicking in the list-box.
Let's switch to the How QlikView works tab to see how this works. We can do this by either clicking on the How QlikView works tab on the top of the sheet, or by clicking on the Get Started button.
The selected tab shows two list boxes, one containing Fruits and the other containing Colors. When we select Apple in the Fruits list-box, the screen automatically updates to show the associated data in the Colors list-box: Green and Red. The color Yellow is shown with a gray background to indicate that it is not associated, as seen below, since there are no yellow apples. To select multiple values, all we need to do is hold down Ctrl while we are making our selection.
Besides selections in list-boxes, we can also directly select data in charts. Let's jump to the Dashboard tab and see how this is done. The Dashboard tab contains a chart labeled Number of Movies, which lists the number of movies by a particular actor. If we wish to select only the top three actors, we can simply drag the pointer to select them in the chart, instead of selecting them from a list-box:
Because the selection automatically cascades to the rest of the model, this also results in the Actor list-box being updated to reflect the new selection:
Of course, if we want to select only a single value in a chart, we don't necessarily need to lasso it. Instead, we can just click on the data point to select it. For example, clicking on James Stewart leads to only that actor being selected.
While list-boxes and lassoing are both very convenient ways of selecting data, sometimes we may not want to scroll down a big list looking for a value that may or may not be there. This is where the search option comes in handy.
For example, we may want to run a search for the actor Al Pacino. To do this, we first activate the corresponding list-box by clicking on it. Next, we simply start typing and the list-box will automatically be updated to show all values that match the search string. When we've found the actor we're looking for, Al Pacino in this case, we can click on that value to select it:
Sometimes, we may want to select data based on associated values. For example, we may want to select all of the actors that starred in the movie Forrest Gump. While we could just use the Title list-box, there is also another option: associated search.
To use associated search, we click on the chevron on the right-hand side of the search box. This expands the search box and any search term we enter will not only be checked against the Actor list-box, but also against the contents of the entire data model. When we type in Forrest Gump, the search box will show that there is a movie with that title, as seen in the screenshot below. If we select that movie and click on Return, all actors which star in the movie will be selected.
Inevitably, when exploring data in QlikView, there comes a point where we want to save our current selections to be able to return to them later. This is facilitated by the bookmark option. Bookmarks are used to store a selection for later retrieval.
To create a new bookmark, we need to open the Add Bookmark dialog. This is done by either pressing Ctrl + B or by selecting Bookmark | Add Bookmark from the menu.
In the Add Bookmark dialog, seen in the screenshot below, we can add a descriptive name for the bookmark. Other options allow us to change how the selection is applied (as either a new selection or on top of the existing selection) and if the view should switch to the sheet that was open at the time of creating the bookmark. The Info Text allows for a longer description to be entered that can be shown in a pop-up when the bookmark is selected.
We can retrieve a bookmark by selecting it from the Bookmarks menu, seen here:
Fortunately, if we end up making a wrong selection, QlikView is very forgiving. Using the Clear, Back, and Forward buttons in the toolbar, we can easily clear the entire selection, go back to what we had in our previous selections, or go forward again. Just like in our Internet browser, the Back button in QlikView can take us back multiple steps:
Besides filtering data, QlikView also lets us change the information being displayed. We'll see how this is done in the following sections.
Cyclic Groups are defined by developers as a list of dimensions that can be switched between users. On the frontend, they are indicated with a circular arrow. For an example of how this works, let's look at the Ratio to Total chart, seen in the following image. By default, this chart shows movies grouped by duration. If we click on the little downward arrow next to the circular arrow, we will see a list of alternative groupings. Click on Decade to switch to the view to movies grouped by decade.
Drill down Groups are defined by the developer as a hierarchical list of dimensions which allows users to drill down to more detailed levels of the data. For example, a very common drill down path is Year | Quarter | Month | Day. On the frontend, drill down groups are indicated with an upward arrow.
In the Movies Database document, a drill down can be found on the tab labeled Traditional OLAP. Let's go there.
This drill down follows the path Director | Title | Actor. Click on the Director A. Edward Sutherland to drill down to all movies that he directed, shown in the following screenshot. Next, click on Every Day's A Holiday to see which actors starred in that movie. When drilling down, we can always go back to the previous level by clicking on the upward arrow, located at the top of the list-box in this example.
Containers are used to alternate between the display of different objects in the same screen space. We can select the individual objects by selecting the corresponding tab within the container. Our Movies Database example includes a container on the Analysis sheet.
The container contains two objects, a chart showing Average length of Movies over time and a table showing the Movie List, shown in the following screenshot. The chart is shown by default, you can switch to the Movie List by clicking on the corresponding tab at the top of the object.
On the time chart, we can switch between Average length of Movies and Movie List by using the tabs at the top of the container object.
After all of the slicing, dicing, drilling, and view-switching we've done, there is still the question on our minds: how can we export our selected data to Excel? Fortunately, QlikView is very flexible when it comes to this, we can simply right-click on any object and choose Send to Excel, or, if it has been enabled by the developer, we can click on the XL icon in an object's header.
Click on the XL icon in the Movie List table to export the list of currently selected movies to Excel.
A word of warning when exporting data
When viewing tables with a large number of rows, QlikView is very good at only rendering those rows that are presently visible on the screen. When Export values to Excelis selected, all values must be pulled down into an Excel file. For large data sets, this can take a considerable amount of time and may cause QlikView to become unresponsive while it provides the data.
Now that we have seen how QlikView works from the point of view of a business user, it is time to get a little more technical. Let's take an in-depth look at the various components that QlikView consists of.
One of the key elements of QlikView is that it utilizes an in-memory database. Compared with a disk-based database, this offers a great advantage when it comes to performance. While disk-access time is measured in milliseconds, RAM access time is measured in nanoseconds, making it many orders of magnitude faster.
"But hold on—" you may say, "my hard disk has much more space than I have RAM in my PC; won't that mean that I can only load limited amounts of data into memory?"
This is a very valid question. Fortunately, there are two factors which counter this potential problem:
These two factors make it possible to create QlikView applications that contain hundreds of millions—even billions—of records.
While the in-memory database is excellent technology, it cannot function on its own. Functionally, data flows through QlikView in the following manner (also shown in the following image):
While QlikView deployments within an organization often start with a single (or few) local installations, they often do not stay that way. As the use of QlikView expands, keeping track of different versions, dealing with huge amounts of data, reloading and distributing applications, and making sure that only the right people have access to applications becomes increasingly hard when using only the Windows client.
Fortunately, QlikTech offers a large range of components which ensure that QlikView can scale from a local deployment on a laptop all the way to an enterprise-wide solution. These components can be classified into three classes (also shown in the following screenshot):
The Windows application we used earlier to navigate and analyse the data in Movies Database can not only be used to consume content, but it is also the main tool with which to create QlikView documents. As this book is focused on developers, this will be the main focus for the remaining chapters.
When QlikView deployments expand, it becomes impractical to update and distribute files manually. Also, data is loaded into RAM when using a local Windows application to open QlikView files. When working with huge amounts of data, each PC would also need a huge amount of RAM. This might work for developer PCs, but it is hardly a cost-effective solution to outfit each user in the organization with large amounts of RAM.
Fortunately, QlikView has three components to mitigate these potential roadblocks to broader adoption:
QlikView documents can be consumed in multiple ways. While this book mainly focuses on the QlikView Desktop Windows application, it is interesting to take note of the other possibilities for deployment:
When going through this list of clients, you probably noticed that the AJAX client is the most versatile of all clients. While it hasn't always been that way, nowadays, the visual and functional differences between the AJAX client and the ActiveX client are small enough for the AJAX client to be considered the preferred client for consumption of QlikView documents by users.
It's a typical Monday morning at the office. Sara, an executive at HighCloud Airlines, arrives early to begin a busy week. Work has been hectic lately.
Ever since the start of the Euro crisis, the market for air travel and cargo in HighCloud's home market in Europe has been steadily declining. As a result, HighCloud's financial results have also been sloping downward.
A few weeks ago, in an effort to turn the company
