39,59 €
Qlik Sense is a powerful, self-servicing Business Intelligence tool for data discovery, analytics and visualization. It allows you to create personalized Business Intelligence solutions from raw data and get actionable insights from it.
This book is your one-stop guide to mastering Qlik Sense, catering to all your organizational BI needs. You'll see how you can seamlessly navigate through tons of data from multiple sources and take advantage of the various APIs available in Qlik and its components for guided analytics. You'll also learn how to embed visualizations into your existing BI solutions and extend the capabilities of Qlik Sense to create new visualizations and dashboards that work across all platforms. We also cover other advanced concepts such as porting your Qlik View applications to Qlik Sense,and working with Qlik Cloud. Finally, you'll implement enterprise-wide security and access control for resources and data sources through practical examples.
With the knowledge gained from this book, you'll have become the go-to expert in your organization when it comes to designing BI solutions using Qlik Sense.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 563
Veröffentlichungsjahr: 2018
Copyright © 2018 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 or its dealers and distributors, will be held liable for any damages caused or alleged to have been 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.
Commissioning Editor: Amey VarangaonkarAcquisition Editor: Tushar GuptaContent Development Editor:Aaryaman SinghTechnical Editor: Dinesh ChaudharyCopy Editor: Safis EditingProject Coordinator: Manthan PatelProofreader: Safis EditingIndexer: Aishwarya GangawaneGraphics: Tania DuttaProduction Coordinator: Aparna Bhagat
First published: March 2018
Production reference: 1140318
Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.
ISBN 978-1-78355-402-7
www.packtpub.com
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
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.
Martin Mahler, a rocket scientist by education, is a passionate Qlik Luminary 2018 with vast experience in championing Qlik Technologies across financial services. With an MSc in engineering and IT as work experience, he advocates Qlik's self-service capabilities and democratization of data withinorganizations. Being an energetic individual, he also regularly shares his knowledge at presentations within QlikDevGroups across Europe. He currently serves as Vizlib’s CEO.
Juan Ignacio Vitantoniois a consultant who helps global companies thrive through the use of Qlik technologies, allowing them to gain business insights by implementing self-service solutions. Whether attending Qlik events, assisting the Qlik community, or serving as a Qlik branch moderator, he is always willing to help and learn from others. He is passionate about Qlik and data discovery. He enjoys traveling. He has a BSc in software engineering and an MSc in engineering.
David Alcobero is the CTO and co-Founder of Vizlib, a highly customizable, supported and feature-rich visualization library for Qlik Sense. He leads the product development team, platform design and vision strategy.
David was born in Barcelona (Spain), where he got his MSc in computer science and engineering at UAB (Universitat Autonoma de Barcelona). He was working as a Qlik developer and software engineer in Spain for 5 years until he moved to London in 2014, where he worked as a Qlik consultant for 3 years in a variety of industries, from e-commerce, through manufacturing to banking.
Ralf Becher is an internationally recognized Qlik expert and long term Qlik Luminary. He has more than 25 years of experience in information technology, working as systems architect and principal consultant in business intelligence and big data, in multiple industries.
In 2004, he founded TIQ Solutions in Germany, a Leipzig-based company specialized in modern, quality-assured data management and advanced analytics.
Ralf joined Vizlib in 2017 as a technical advisor, passionate to build first-class web components and data visualizations for contemporary analytical solutions.
Dilyana Ivanova is a Director at AIG as Data Analytics & Visualization lead. The team uses data, analytics, and business expertise to provide insights across all aspects of insurance.
She was a BI consultant and enjoyed a diversity of projects, industries, and countries. She focused on Data Visualization & used Qlik’s powerful set of tools to build innovative solutions.
She grew up, lived, and worked in Bulgaria for her undergrad in computer science. She moved to Scotland for her master’s and developed A Guide to Access Control for the BI system at the University of St Andrews for her thesis.
Karl Pover is the owner and principal consultant of Evolution Consulting, which provides QlikView consulting services throughout Mexico. Since 2006, he has been dedicated to providing QlikView pre-sales, implementation, and training to more than 50 customers. He is the author of Learning QlikView Data Visualization and Mastering QlikView Data Visualization. He has been a Qlik Luminary since 2014.
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Title Page
Copyright and Credits
Mastering Qlik Sense
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the authors
About the reviewers
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Qlik Sense Self-Service Model
A review of Qlik Sense
The Self-Service model
The IKEA effect
User types in self-service
Benefits and challenges of self-service
Benefits
Challenges and risks
Recommendations on deploying self-service with Qlik Sense
Summary
Transitioning from QlikView to Qlik Sense
Journey from QlikView to Qlik Sense
QlikView and Qlik Sense comparison
The different approach to projects
Requirements gathering
Implementation
Maintenance
Differences in the loading script
Script statements not supported in Qlik Sense
Script expressions not supported in Qlik Sense
Prefixes not supported in Qlik Sense Script
Script statements not recommended in Qlik Sense
Differences in the frontend
Frontend functions not recommended in Qlik Sense
ALL qualifier
Commonalities
Where to upskill to transition to Qlik Sense
Qlik Sense on mobile
Summary
Security Rules: Attribute Based Access Control
Introducing Attribute-Based Access Control
Security rules properties
ACAB policy properties
Identification properties
Other properties
Administrator roles
Default administrator roles
Custom security roles
Creating security roles
Assigning users security roles
Security rules resources
Resource filters
Naming resources in the resource filter
Resource types
App-related resources
Task resources
ContentLibrary related resources
Hub section resources
QMC section resources
License related resources
Node or service related resources
Other resources
Security rules actions
Security rules conditions
General structure of a condition
Functions for conditions
Operands for conditions
Basic rule editor
Validating the security rule condition
Auditing security rules
Working with auditing
Audit results
Audit investigation
Auditing when creating new security rules
Security rule uses cases and examples
Security rules example: Creating QMC stream admin roles
Resource filter
Conditions
Action
Security rules example – Qlik Sense access rights for AD groups
Security rule for creating apps (developer)
Security rule for creating data connections (developer)
Security rule for creating app objects (developer and contributor)
Summary
Master Items in Qlik Sense
Understanding Master Items
Different types of Master Items
Master dimensions
Master measures
Visualizations
Working with Master Items
Master dimensions
Creating master dimension from a field
Creating master dimensions from the asset panel
Creating master dimensions from the data model viewer
Creating master dimensions via the API
Creating calculated master dimensions
Creating a drill-down master dimension
Editing, deleting, and duplicating master dimensions
Master measures
Creating master measures from a field
Creating master measures from the data model viewer
Editing, deleting, and duplicating master measures
Master visualizations
Creating master visualizations
Editing, deleting and duplicating master visualizations
Summary
Qlik Sense on the Cloud
Data analytics in the cloud
Qlik Sense cloud models
Qlik Sense Cloud Basic
Qlik Sense Cloud Business
Qlik Sense Enterprise in the cloud
Features overview
Hybrid cloud
Example of a hybrid cloud analytics solution
Summary
Qlik Sense Data Modeling
The engine drives everything
Engine components
The QIX internal database
The logical inference engine
The calculation engine
What should be done upstream from Qlik Sense?
Things to do upstream of Qlik Sense
Things to do in the Qlik Sense script
To do in the Qlik Sense UI
Star schema fact and dimension tables
Fact tables
Dimensions
Joins
Summary
Best Practices for Loading Data in Qlik Sense
Data loading concepts
Data Manager
Opening Data Manager
Associations
Associations and bubbles
Adding data
Automatic association
Loading data
Tables
Tables overview
Editing a table
Table field types
Associated fields
Breaking or editing associations
Loading data using the script editor
Opening Data load editor
The Main tab
The Auto-generated section
Analyzing the code in the Auto-generated section
Geo data fields
Field tags
The Declare and Derive fields
The Declare syntax
The Derive syntax
Optimizing your data loads
QVD files
Creating and storing QVD files
Loading data from a QVD file
Optimized loads
Examples of optimized loads
An example of a non-optimized load
Incremental loads
Append
Insert only
Insert and update
Insert, update, and delete
ETL – extract, transform, load
When not to use the ETL approach
When to use the ETL approach
The old approach to ETL
The Qlik Sense approach to ETL
Pros and cons of the new ETL approach
Summary
Advanced Scripting
Formatting settings through variables
System variables
HidePrefix and HideSuffix
include and must_include
CreateSearchIndexOnReload
Value handling variables
NullDisplay
NullInterprete
NullValue
Number interpretation variables
DecimalSep
ThousandSep
DateFormat
MonthNames and LongMonthNames
DayNames and LongDayNames
Script control statements
Organizing your script
Sub ... End Sub
Call (subroutines)
Looping
Do... Loop
For... Next
For Each... Next
Switch... Case... Default... End Switch
Conditional statements
If... Then... Elseif... End If
Table stats
RecNo
RowNo
NoOfRows and NoOfFields
Data security with Section Access
Section Access and Section Application
Fields in section access
Data reduction
Reducing rows
Reducing fields
Advanced sample scripts
Summary
Advanced Expressions in Qlik Sense
Set analysis
Parts of set analysis
Set expressions
Identifiers
Operators
Modifiers
Set modifiers dive in
Set modifiers with set operators
Set modifiers using assignments with implicit set operators
Set modifiers with advanced searches
Set modifiers with implicit field value definitions
Set modifiers with expressions
Comparing to other fields
Field-to-field comparison
P() and E() functions
Variables
Using variables in your script
The difference between SET and LET
Creating variables
Reading the value of variables
Dollar-sign expansion with variables
User-defined functions
Deleting and reusing variables
Using variables in your application
Opening the Variable menu
Creating a variable
Dollar-sign expansion in expressions - reading a variable
Deleting a variable
Using variables in expressions
Using variables in set analysis
Using variables to replace strings
Using variables to replace numbers
Maintaining expressions
Summary
Overview of Qlik Sense APIs
What is an API?
Description of Qlik APIs
API Stability
Engine API
Request syntax
Response syntax
Extension API
Hello World using the Extension API
Setting initial properties
Exporting and printing
Backend API
Capability API
Root API
App API
Bookmark API
Field API
Selection API
Variable API
Visualization API
Global API
Navigation API
Table API
enigma.js
Using enigma.js in Node.js apps
Using enigma.js in extensions
Leonardo UI
Using Leonardo UI with Node.js
LUI icons
LUI buttons
Other LUI components
halyard.js
Summary
Working with the Qlik Dev Hub
Dev Hub
Opening Dev Hub
Dev Hub overview
The Single configurator
The Extension editor
The Mashup editor
The Widget editor
QlikView converter
Summary
Coding in Qlik Sense
HTML5
CSS
CSS selectors
Element type selectors
ID selectors
Class selectors
Attribute selectors
Combining different selectors
JavaScript
Coding with JavaScript
JavaScript is code and not data or a markup language
Everything in JavaScript can have a property
Variable scoping
JSON
AJAX
JavaScript libraries
JavaScript is not just for browsers
RequireJS
RequireJS takeaways
AngularJS
It's all about bringing structure to JavaScript
Scope
Controllers
Templates
Directives
Creating your own directives
AngularJS takeaways
D3.js as a visualization library
SVG
Selections
enter() and exit()
Dynamic properties
Transitions
D3 takeaways
Debugging
Diving into the world of F12
Inspecting the DOM
Debugging JavaScript code
Adding a breakpoint
Debugging the breakpoint
Running the debugger
Inspecting the Qlik Sense API WebSocket
Summary
Creating Extensions in Qlik Sense
Structuring your code
The .qext file
The JavaScript file
The paint() method
The resize method
initialProperties
definition
importProperties
getExportRawDataOptions
support
controller and template
The properties panel
Reusable property components
Defining custom property components
Custom components
Creating your own components using AngularJS
Using custom array items
Best practice on property panels
User experience
Expressions
Grouping your properties
Using variables in the properties panel
Defining related properties of objects
Grouping properties in the panel
HyperCube
qHyperCubeDef
qHyperCubeDef properties
qDimensions
qMeasures
qInitialDataFetch
qStateName
qInterColumnSortOrder
qSuppressZero
qSuppressMissing
qMode
qNoOfLeftDims
qAlwaysFullyExpanded
qMaxStackedCells
qPopulateMissing
qShowTotalsAbove
qIndentMode
qCalcCond
qSortbyYValue
Returned qHyperCube structure
qListObjectDef
qStringExpression and qValueExpression
Example 1-bar chart
Requirements
Folder structure
Property panel
Template
Let's get started-MasteringQSBarChart.js
Preparing the SVG structure for the chart and the axis
Initializing the SVG chart
Rendering the SVG chart
Data preparation
Data visualization (finally)
Styling your bar chart-MasteringQSBarChart.css
Adding selections to the bars in the chart
Wrap-up
Example 2- drop-down list
Requirements
Folder structure
Property panel
Template
Let's get started-MasteringQSdrop-down.js
Adding selections
Adding read-only mode
Showing the frequency
Styling your drop-down values
Wrap-up
Qlik Branch and other open source repositories
Qlik Branch
bl.ocks-D3 open source platform
Summary
Integrating QS in Websites via Mashups
Getting set up
Connecting to the Qlik Engine
Creating a connection
Creating a Connection using WebSockets
Creating a Connection to the Qlik Server Engine
Creating a connection using certificates
Creating a connection using the Mashup API
Creating a connection using enigma.js
Embedding objects
Single configurator
Using the Object ID
Create visualizations on the fly
Interacting with the Engine
Creating HyperCubes
Connecting to fields
Creating a selection listener
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Qlik Sense is a powerful, self-servicing business intelligence tool for data discovery, analytics, and visualization. It allows you to create personalized business intelligence solutions from raw data and to get actionable insights from it.
This book is your one-stop guide to mastering Qlik Sense, catering to all your organizational data analytics needs. You'll see how you can seamlessly navigate through tons of data from multiple sources and take advantage of the various APIs available in Qlik and its components for guided analytics. You'll also learn how to embed visualizations into your existing BI solutions and extend the capabilities of Qlik Sense to create new visualizations and dashboards that work across all platforms. We also cover other advanced concepts, such as porting your QlikView applications to Qlik Sense and working with Qlik Cloud. Finally, you'll learn to implement enterprise-wide security and access control for resources and data sources through practical examples.
With the knowledge gained from this book, you'll have become the go-to expert in your organization when it comes to designing data analytics solutions using Qlik Sense.
Thank you very much for purchasing Mastering Qlik Sense! Both the authors are very excited to accompany you on your journey to becoming proficient and a master of Qlik Sense. Two new concepts are being introduced with the latest technology that make it different than QlikView: its improved self-service capabilities with the goal of democratizing data and data literacy within organizations, and the introduction of robust APIs that let you extend Qlik Sense using web technologies and take its analytics even further.
As such, due to the breadth of different new skill sets now required in a typical Qlik Sense project (web development, Qlik scripting, expressions, and business understanding for data analytics), it's nearly impossible to master them all. However, this book will provide you with synthesized and advanced knowledge of all relevant concepts around mastering Qlik Sense on an enterprise level.
As such, the book is specifically targeted at three groups of people:
QlikView gurus
: People who have extensively used QlikView in the past and are looking to transition to Qlik Sense
Qlik Sense beginners
: People who are new to Qlik but have had some experience using Qlik Sense in their organization and wish to bring their expertise to the next level and
Web developers
: Frontend and backend JavaScript developers who want to get a better understanding of the Qlik technology to leverage its rich and powerful API
Accordingly, the book is structured into three modules.
Module 1,
The Qlik Sense Self-Service Model:
Module 1 is about understanding the essence of self-service and how Qlik Sense is facilitating this capability. This module will revolve around the various use cases in self-service, how to set up the security for this, and how to prepare an environment where non-technical users can be empowered to create their dashboards and visualizations. Emphasis will be put in this module on QlikView developers who are looking to understanding Qlik’s new product and to what extent they are different and similar.
Module 2,
Best Practices for Data Modeling and Expressions:
Albeit very similar to QlikView’s best practices, it is essential that the audience knows and understands Qlik’s best practices on how to correctly and efficiently use the in-memory calculation engine to master the Qlik Sense technology.
Module 3,
Qlik Sense API:
Qlik has decided to open up the Qlik engine as well as all of their services via an API. This suggests that extensions and integrations into third-party platforms are possible, which exceeds the capabilities that come out of the box in Qlik Sense. The real power of the associative engine can be leveraged in any way desired, which will be the topic of this module.
We hope you enjoy it!
–Martin & Juan
Chapter 1, Qlik Sense Self-Service Model, is about understanding the essence of self-service, the significance of empowering the business user, and what types of use cases of self-service exist. It will teach you to identify the correct use cases for using Qlik Sense and advising the business on how and why to leverage self-service Business Intelligence.
Chapter 2, Transitioning from QlikView to Qlik Sense, is a comparison of QlikView and Qlik Sense, focusing on the differences and similarities between the two technologies. You will learn the differences between QlikView and Qlik Sense. You will learn how to prepare for Qlik Sense, and see what new stuff needs to be learned, differences, and commonalities between the two technologies.
Chapter 3, Security Rules: Attribute Based Access Control, explains that Qlik Sense has introduced a new concept of security rules for applying non-data-level permissions called Attribute-Based Access Control. This chapter will teach you this new concept and will let you become proficient with the security rules and translate permission requirements into security rules logic.
Chapter 4, Master Items inQlik Sense, explains that with a new type of digital asset has been introduced, called Master Items. This chapter will focus on understanding the concept of master items (MI), how to work with them and how to deploy them within the scope of a Self-Service model. It will let you become proficient with the different types of MI and advise users how and when to use MI.
Chapter 5, Qlik Sense on Cloud, Qlik Sense is now also offered as a solution on the cloud. This is a novel concept of deploying business intelligence solutions, and this chapter will elaborate on this model and its difference from traditional local Qlik Sense deployments. After reading this chapter, you will understand the Qlik Sense Software as a Service model, know how to deploy a cloud-based solution, and understand when to use and when not to use cloud-based solutions.
Chapter 6, Qlik Sense Data Modeling, offers a description of how Qlik stores its data in-memory, and what implications it has on data modeling. The chapter will look at dimensional data modeling in detail, using best practices from Ralph Kimball in Qlik Sense, while also covering optimization exercises to reduce the RAM footprint and calculation time on the front-end. After reading this chapter, you will understand many of the available data modeling techniques and you will be able to create efficient and optimized data models for Qlik Sense apps.
Chapter 7, Best Practice for Loading Data in Qlik Sense, educates the user about various types of data loading concepts in Qlk Sense, the concept of an ETL approach and its importance, and how to implement it in Qlik Sense (both Desktop and Enterprise). You will be able to identify data sources, know how to organize data to facilitate the loading process, develop an ETL strategy for his project, and master loading techniques such as incremental or partial reloads.
Chapter 8, Advanced Scripting, covers various advanced ways to script and write sophisticated ETL code within Qlik Sense to facilitate all the data modeling and data loading techniques described in chapters 6 and 7. It will show you how to load data from sources in their most efficient way, transform tables in every possible way, and write useful and resilient code using control structures.
Chapter 9, Advanced Expressions in Qlik Sense, shows how to leverage Qlik Sense’s powerful in-memory calculation engine while understanding all the concepts of its expressions. At the same time, these expressions always need to be implemented efficiently to avoid jeopardizing the user experience.
Chapter 10, Overview of Qlik Sense APIs, is about giving an extensive overview of what an API is, which APIs are available in Qlik Sense, and how to usually take advantage of technology with an API. It will familiarize you with all 19 APIs in Qlik Sense. You will understand the implications of an API and recognize use cases for the API. It will also cover Qlik's open source initiatives.
Chapter 11, Working with the Qlik Dev Hub, Qlik has its own user-friendly Qlik Sense development environment called Qlik Dev Hub. This chapter will describe the Qlik Sense development environment, how it is organized, and how to set it up for development. It will leave you with right know-how to utilize the dev hub and organize and govern the dev-hub work and modules.
Chapter 12, Coding in Qlik Sense, is for Qlik developers who have never had exposure to web development. It will describe all the languages and libraries used in Qlik, extension development, the reason JavaScript is used, and considerations when developing extensions or mashups for mobile. You will internalize the concept of web development and how HTML5 and JS code are read by the browser, understand the concepts of the most relevant JS libraries for Qlik, be able to read and write underlying code written in JavaScript, and debug web development code.
Chapter 13, Creating Extensions in Qlik Sense, demonstrates how to leverage the Extension API to build compelling visualizations using the D3.js library and control components using AngularJS. It will emphasize teaching how to write the code, best practices, and how to structure your extensions, including their property panel. Two step-by-step guides will help you internalize the steps required to build extensions for Qlik Sense, and you will be able to work with Qlik's Generic Objects such as the HyperCube for even more amazing projects.
Chapter 14, Integrating QS in Websites via Mashups, Mashups are probably the aspect of Qlik Sense with unlimited possibilities, and they allow the technology to tackle almost every requirement. While building mashups becomes web development predominantly, several aspects need to be considered when integrating Qlik objects. This chapter will teach you how to set up a Mashup project, connect to the Qlik engine, and import and embed Qlik Visualizations and Objects into applications sitting outside of Qlik Sense. You will learn how to develop basic mashup HTML pages, how to read the code in a mashup, how to deploy successful mashup projects, when to use mashups, and when not to.
Mastering Qlik Sense is part of the Mastering series in Packt Publishing and requires you to have at least a basic understanding of Qlik Sense before working with this book. You should have either already deployed a couple of Qlik Sense apps or have worked extensively with QlikView before in case you are now looking to transition to Qlik Sense. If you are coming from a web development background, in an effort to better understand the world of Qlik Sense, some aspects of this book, with the exception of Module 3, might be too advanced for you too.
To make the most out of this book, although recommended, you don't necessarily read it from the beginning until the end, but you should feel encouraged to jump between Modules 1-3 and the chapters within them. The individual chapters, and especially modules, are written in such a way to be conclusive, meaning that they can be read individually, based on your interest. Cross-references between chapters are made to ensure you know where to continue your reading if you wish to deepen your knowledge.
To closely follow the practical examples and to make the most of the code snippets, please ensure you download the latest version of the Qlik Sense Desktop client from the official website which can be found here https://www.qlik.com/us/try-or-buy/download-qlik-sense.
For the coding parts, an advanced text editor is recommended for your use, such as sublime (https://www.sublimetext.com/) or notepad++ (https://notepad-plus-plus.org/). And please, if you can, do use Google Chrome!
Happy Qlik'ing!
You can download the example code files for this book from your account atwww.packtpub.com. If you purchased this book elsewhere, you can visitwww.packtpub.com/supportand register to have the files emailed directly to you.
You can download the code files by following these steps:
Log in or register at
www.packtpub.com
.
Select the
SUPPORT
tab.
Click on
Code Downloads & Errata
.
Enter the name of the book in the
Search
box and follow the onscreen instructions.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub athttps://github.com/PacktPublishing/Mastering-Qlik-Sense. In case there's an update to the code, it will be updated on the existing GitHub repository.
We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: http://www.packtpub.com/sites/default/files/downloads/MasteringQlikSense_ColorImages.pdf.
There are a number of text conventions used throughout this book.
CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The <html> element is the root element of an HTML page."
A block of code is set as follows:
<!DOCTYPE html><html><head><title>Mastering Qlik Sense Page Title</title></head>
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
<title>Mastering Qlik Sense Page Title</title>
<link rel="stylesheet" href="/MasteringQlikSense.css">
</head>
Any command-line input or output is written as follows:
$ mkdir css
$ cd css
Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Select System info from the Administration panel."
Feedback from our readers is always welcome.
General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packtpub.com.
Considering this book is called Mastering Qlik Sense, you haveprobably already been exposed to Qlik Sense and are familiar with its capabilities and functionalities. While you probably have experience on how to install the tool on a small scale, you ask yourself whether Qlik Sense is viable to be deployed on an enterprise level. This book takes the next step with you and will show and teach you how to take Qlik Sense to the next level. What needs to be considered to successfully deploy to enterprises? In order to answer that question, firstly the newly introduced self-service approach within the business intelligence (BI) world needs to be analyzed.
Self-service BI, abbreviated as SS BI throughout this chapter, is a new approach to data analytics in which users get access to the IT platform to load their data and create their own data-driven analytic reports. This model differs significantly from how traditional BI tools are deployed.
Qlik has recognized the need for self-service in the market and has decided to develop a wholly new product called Qlik Sense, which is also the main topic of this book. This chapter aims to take a step back from focusing on the new technology and educate and inform the reader about the new self-service approach that Qlik Sense is taking.
We will begin this chapter with a discussion on the historical background of Qlik Sense as narrated by Qlik itself (yes, the company itself!). The self-service model will be introduced with its key four focus points. A small excursion will be taken to the so-called IKEA effect and why it is relevant to Qlik Sense. With the self-service model, different user types within this space emerge, which will be described and summarized. This will allow the reader tonot only identify those user types but also approach them appropriately.
To ensure the business and the organization are best advised on Qlik Sense and self-service BI, a list of benefits and challenges will be described. They will help assess whether Qlik Sense is fit for purpose in the examined use case and what can be done to mitigate the risks in order to make self-service BI a success within the organization.
Last but not least, the reader will be equipped with lots of recommendations on how to best champion Qlik Sense, all coming from the distilled professional experience of the authors deploying the same in large-scale organizations.
The goal of this chapter is for the reader to be able to understand the dynamics of self-service, how to correctly leverage them with Qlik Sense to identify good use cases for using the technology, and advising the business on how and why to invest in self-service BI.
The chapter is structured into the following sections:
A review of Qlik Sense
The self-service model
The IKEA effect
User types in self-service
Benefits and challenges of self-service
Recommendations on deploying self-service with Qlik Sense
With the release of Qlik Sense, QlikTech decided to address a new trend in BI – the emergence of self-service BI and the need for business users to become more self-reliant. Business users wish to be in more control and get faster access to BI and their business data.
Based on their Qlik associative analytics engine, which successfully promoted the ability for data discovery in QlikView, Qlik decided to reinvent itself by building a next-generation BI tool which addressed five themes to capture the new trend:
Gorgeous and genius
: Within the theme, Qlik focused on making QS as slick and visually beautiful as possible, enabling the user to leverage the full power of the associative engine model and allowing for a
seamless experience across all devices
.
Mobility with agility
: Moving away from a local installed client, Qlik Sense is 100 percent web-based and therefore can be accessed by any device that supports web browsers. The same applies to the enterprise platform, which with the release of Qlik Sense Cloud will ensure the whole environment will be hosted outside of your users' premises, making it
accessible at all times
from anywhere in the world.
Compulsive collaboration
: With the focus on collaboration, new ways of consuming data can be explored if users have real-time capabilities to
either modify or enrich existing reports or easily share insights with each other
by sharing bookmarks or stories of their data.
The premier platform
: Short development and deployment time to market – the platform
focuses on simplifying and speeding up the SS BI supply chain
from data access to development, with access through broadened API under one unified platform interface.
Enabling new enterprise
: By unifying the whole platform, Qlik is offering its capabilities, including security, reliability, and scalability, not only for large enterprises but also for smaller companies. With their Qlik cloud offering, they aim to even
increase the flexibility
to address a new market: small companies or teams which do not have the resources or the time to invest in an infrastructure before deploying Qlik Sense.
Addressing the five themes earlier was not possible by releasing a new version of QlikView. Qlik had to disrupt itself and create a wholly new product almost from scratch, retaining their market-leading in-memory calculation engine and their expertise and vision around data discovery and business intelligence.
Qlik Sense is fundamentally different from QlikView in its approach to BI and the development process, as well as the user experience. What stays the same is the security model called section access, Qlik’s associative engine (the driver of data discovery) and most of the front end expressions to aggregate your data, including set analysis. However, the whole approach to developing apps and dashboards is different as all of a sudden the user becomes an integral part of the process. Qlik Sense’s easy-to-use approach gives them capabilities to significantly contribute to their own content even to the extent that all of the development can be done by them. This will be elaborated in Chapter 2, Transitioning from QlikView to Qlik Sense; however, it is important to understand Qlik Sense is not an evolution of QlikView, but a whole new concept on how to offer BI and data insights to the business.
The most common fallacy among Qlik customers is to believe an existing QlikView environment can simply be migrated to Qlik Sense, leveraging its new technology and implementing new cutting-edge visualizations. This is not the case, as guided analytics dashboards, a dominant development concept in QlikView, are not directly supported in Qlik Sense in the same way. For those who are not familiar with QlikView, its guided analytics aspect takes the user on a pre-canned journey through the dashboard with sometimes restricted views and constrained ways to interact and explore the data, hence guided.
While it is not impossible to implement something similar to the API using the approach of mashups and advanced extensions, this would require IT and the user to enter the world of web development, which is the absolute opposite of a business-friendly self-service environment. In there, possibilities are unlimited; however, new skills are required and the very value-add of sped-up dashboard development that QlikView provides gets lost in Qlik Sense when it comes to guided analytics dashboards. On the other hand, building simple visualizations is much easier in Qlik Sense, supported by the sheet canvas, the drag and drop functionality, and the suggestive dimensions and measure which is all hosted on the web, requiring no installation on the client side other than access to the platform. Also, the data loading process has been significantly simplified by offering a huge variety of connectors and user-friendly data processing interfaces.
The next section will focus on explaining the self-service BI model in Qlik Sense, its advantages, and disadvantages, as well as classic user types and working models, finishing with some considerations and recommendations on how to best deploy self-service within your organization.
Transforming data with intelligence (TDWI), an organization providing educational research material on data and BI, did extensive work in 2011 in researching and describing the dynamics of the newly emerging phenomenon of self-service BI. This is how its published report describes it:
Self-reliance and reduced dependency are key here, as a shift from the classic BI model is evident, where the responsibilities of developing data analytics dashboards move away from IT and closer to the business. And this makes sense as the business itself is the body within the organization that best understands how to extract value from its own data and what insights it hopes to get out of its analytics. Also, by being able to modify BI dashboards themselves, not only can users personalize their own reports but time to market is reduced significantly.
TDWI identifies four key objectives self-service BI focuses on:
Simpler and customizable end-user interfaces
: Communicating data in an effective way to get the insight across efficiently is key and arguably the most important objective of self-service BI. Compelling visualizations, uncomplicated dashboards, and clear presentation of data are paramount for any BI tool. Qlik Sense does exactly that and takes the user experience to another level by leveraging its associative engine and allowing the user to explore the data in their own way through filtering and truly embracing data discovery.
Easy access to source data
: The best analytics solution or platform will not be of any use if the user can’t access the data. A big difference to traditional BI tools, though, is that not all data needs to be stored in one database in order to be consumed. Qlik Sense allows users to easily connect to various data sources using drag and drop as well as following user-friendly load wizards. Qlik’s acquisition of QVSource in 2016, a third-party tool which has a collection of data connectors to plenty of platforms, underlines the importance of being able to connect data from disparate sources into one dashboard for reporting and analysis purposes. Also, by opening up the sourcing of data, new reports and dashboards can be built, which may not have been possible with an earlier architecture of technologies. Think of combining data from different departments, linking them by cost center, and being able to draw new insights of how costs are directly associated with revenue. All in all, being able to easily connect to its own data, the business can build its own bespoke reports, to its own requirements, and at its own pace:
Easy-to-use BI tools
: Similar to the first point, this one focuses on the simplicity of building these dashboards. Even if it is expected that the business upskills itself to become more IT-savvy, self-service BI tools will only be adapted to the organization if they are easy to use for the layman. Hence, Qlik has focused a lot on developing a very user-friendly interface in Qlik Sense, which allows the user to create their own dashboards simply by dragging and dropping certain items to a canvas, rearranging them to their own liking, and selecting the dimensions and measures they wish to analyze. Qlik Sense is incredibly easy to use for simple analytics, with sophisticated data load and processing editors on the back end too. The capturing of this objective is best demonstrated with Qlik's release of the visual management of data associations, the so-called
data load bubbles
depicted in the diagram that precedes this bulleted list. It allows the user to create connections between different tables, creating a logical link based on the suggested key, which will then
associate
on the front end when filtering.
Quick-to-deploy and easy-to-manage architecture:
Albeit very technical, self-service BI should be as easy on the back end as it is on the front end. As will be discussed in later chapters, the management of the Qlik Sense environment has been simplified a lot, the same as the licensing model and many other things in the back end. This is done to support a fast release cycle and deployment to business users, decreasing the time to market of new apps and enabling IT and users to work in an agile way iteratively, without time-consuming release processes. The same principles have been applied to the deployment of the whole architecture: Qlik Sense is fairly easy to scale horizontally across multiple nodes if the user base increases. Installation of the technology is also well supported in cloud platforms such as Amazon Web Services, Microsoft Azure, or Google Cloud. The simplicity on the back end makes it very attractive too for the IT department to deploy self-service BI without massive training, making the technology much more cost-effective.
The relationship between those four key objectives is depicted in the following diagram:
The ecosystem of self-service BI shows that there are four interdependent areas where its principles need to apply to aggregate to one successful solution. While it is the front end that is predominantly being advertised, all other aspects are equally important and need to be taken into account when taking the whole into consideration.
The freedom that comes with self-service BI, though, stands in strong opposition to IT governance principles: standards, data quality, consistency of terms and definitions, and consistency of look and feel. IT departments often resist allowing the business user to venture into the data analytics world all by themselves, believing this will lead to data anarchy and loss of control and governance over the BI environment.
For it to be successful, a strict framework needs to be introduced to successfully deploy Qlik Sense. The key there, however, will be to introduce governance which is user-enabling and not an IT dictatorship. IT governance in Qlik Sense without impairing the users will be at the forefront of this book.
The name IKEA derives from the Swedish furniture manufacturer and relates to their business model that allows the consumer to compile and build their furniture themselves at home, based on instructions. A working paper by Harvard Business School points out that traditional economic thinking would suggest a consumer or customer would subtract their own labor from the overall final cost of the product. In fact, the opposite effect can readily be observed and the perceived value of the product is increased the more individual labor is put into it, suggesting there is love in our own labor.
This relates well to a similar story about cakes. Since 1931, Betty Crocker had been espousing speed and ease in the kitchen to facilitate the life of women living in the city. Part of that was to also invent the famous cake mixture which allowed a person to promptly bake a fresh cake themselves by adding a couple of ingredients. Having to go to the bakery or confectionery to buy a cake was too simple and certainly did not impress the dinner guests. The initial cake mixture required the customer to only add water to the mix and put it in the oven. Betty Crocker struggled to get traction with their new product, even though it ticked off all the economic boxes. It was self-made, could be baked on demand, was very easy, and little could go wrong. Experimenting with variations, Betty Crocker eventually discovered that taking away the milk and the eggs from the mix, effectively asking the customers to put more effort into the baking, made the product a hit. This is where they discovered that people wanted to put their own personal touch to the cake they baked, effectively increasing the home-made authenticity of what they made.
This story shows two things where a clear link can be drawn between cake mixture and self-service BI:
Firstly, there is also the presence of a cognitive bias in self-service BI, which allows the user to perceive their own reports they build as being qualitatively higher than they are in reality. This bias is a powerful aspect of successful adoption and plays a significant role in promoting self-service BI within the organization. Users will be keener to sell and promote the analytics work they create and will naturally be keen to share all insights they discover. This can eventually lead to having the self-service BI tool promoting itself, almost going viral.
Secondly, the approach Betty Crocker eventually took is not just designing for ease and speed but focusing on designing an entire user experience. This is important in self-service BI as the architect or developer should not only focus on delivering results but put equal focus on the fashion in which the results and insights are delivered to the end user.
The fact is that with self-service BI and the close involvement of the end user in the development process, new psychological dynamics are introduced to the classic IT development process which need to be taken into account. It also reiterates the importance of forgetting some best practices in IT development in order be able to harness the new possibilities and the new approach to data analytics which come with self-service BI.
With the introduction of self-service to BI, there is a segmentation of various levels and breaths on how self-service is conducted and to what extent. There are, quite frankly, different user types that differ from each other in level of interest, technical expertise, and the way in which they consume the data. While each user will almost be unique in the way they use self-service, the user base can be divided into four different groups:
Power Users or Data Champions
: Power users are the most tech-savvy business users, who show a great interest in self-service BI. They produce and build dashboards themselves and know how to load data and process it to create a logical data model. They tend to be self-learning and carry a hybrid set of skills, usually a mixture of business knowledge and some advanced technical skills. This user group is often frustrated with existing reporting or BI solutions and finds IT inadequate in delivering the same. As a result, especially in the past, they take away data dumps from IT solutions and create their own dashboards in Excel, using advanced skills such as
VBA
,
Visual Basic for Applications
. They generally like to participate in the development process but have been unable to do so due to governance rules and a strict old-school separation of IT from the business. Self-service BI is addressing this group in particular, and identifying those users is key in reaching adoption within an organization. Within an established self-service environment, power users generally participate in committees revolving around the technical environments and represent the business interest. They also develop the bulk of the first versions of the apps, which, as part of a naturally evolving process, are then handed over to more experienced IT for them to be polished and optimized. Power users advocate the self-service BI technology and often not only demo the insights and information they achieved to extract from their data, but also the efficiency and timeliness of doing so. At the same time, they also serve as the first point of contact for other users and consumers when it comes to questions about their apps and dashboards. Sometimes they also participate in a technical advisory capacity
on whether other projects are feasible to be implemented using the same technology.
Within a self-service BI environment, it is safe to say that those power users are the pillars of a successful adoption.
Business Users or Data Visualizers
: Users are frequent users of data analytics, with the main goal to extract value from the data they are presented with. They represent the group of the user base which is interested in conducting data analysis and data discovery to better understand their business in order to make better-informed decisions. Presentation and ease of use of the application are key to this type of user group and they are less interested in building new analytics themselves. That being said, some form of creating new charts and loading data is sometimes still of interest to them, albeit on a very basic level.
Timeliness
, the relevance of data, and the user experience are most relevant to them. They are the ones who are slicing and dicing the data and drilling down into dimensions, and who are keen to click around in the app to obtain valuable information. Usually, a group of users belong to the same department and have a power user overseeing them with regard to questions but also in receiving feedback on how the dashboard can be improved even more. Their interaction with IT is mostly limited to requesting access and resolving unexpected technical errors.
Consumers or Data Readers
: Consumers usually form the largest user group of a self-service BI analytics solution. They are the end recipients of the insights and data analytics that have been produced and, normally, are only interested in distilled information which is presented to them in a digested form. They are usually the kind of users who are happy with a report, either digital or in printed form, which summarizes highlights and lowlights in a few pages, requiring no interaction at all. Also, they are most sensitive to the timeliness and availability of their reports. While usually the largest audience, at the same time this user group leverages the self-service capabilities of a BI tool the least. This poses a licensing challenge, as those users don’t take full advantage of the functionality on offer, but are costing the full amount in order to access the reports. It is therefore not uncommon to assign this type of user group a bucket of login access passes or not give them access to the self-service BI platform at all and give them the information they need in (digitally) printed format or within presentations, prepared by users.
IT or Data Overseers
: IT represents the technical user group within this context, who sit in the background and develop and manage the framework within which the self-service BI solution operates. They are the backbone of the deployment and ensure the environment is set up correctly to cater for the various use cases required by the above-described user groups. At the same time, they ensure a security policy is in place and maintained and they introduce a governance framework for deployment, data quality, and best practices. They are in effect responsible for overseeing the power users and helping them with technical questions, but at the same time ensuring terms and definition as well as the look and feel is consistent and maintained across all apps. With self-service BI, IT plays a lesser role in actually developing the dashboards but assumes a more mentoring position, where training, consultation, and advisory in best practices are conducted. While working closely with power users, IT also provides technical support to users and liaises with the IT infrastructure to ensure the server infrastructure is fit for purpose and up and running to serve the users. This also includes upgrading the platform where required and enriching it with additional functionality if and when available.
The previous four groups can be distinguished within a typical enterprise environment; however, this is not to say hybrid or fewer user groups are not viable models for self-service BI. It is an evolutionary process in how an organization adapts self-service data analytics with a lot of dependencies on available skills, competing established solutions, culture, and appetite on new technologies. It usually begins with IT being the first users in a newly deployed self-service environment, not only setting up the infrastructure but also developing the first apps for a couple of consumers. Power users then follow up; generally,they are the business sponsors themselves who areoften big fans of data analytics, modifying the app to their liking and promoting it to their users. The user base emerges with the success of the solution, where analytics are integrated into their business as the usual process. The last group, the consumers, is mostly the last type of user group that is established, which more often than not doesn’t have actual access to the platform itself, but rather receives printouts, email summaries with screenshots, or PowerPoint presentations. Due to licensing cost and the size of the consumer audience, it is not always easy to give them access to the self-service platform; hence, most of the time, an automated and streamlined PDF printing process is the most elegant solution to cater for this type of user group.
At the same time, the size of the deployment also determines the number of various user groups. In small enterprise environments, it will be mostly power users and IT who will be using self-service. This greatly simplifies the approach as well as the setup considerations.
