Mastering Qlik Sense - Juan Ignacio Vitantonio - E-Book

Mastering Qlik Sense E-Book

Juan Ignacio Vitantonio

0,0
39,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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:

EPUB
MOBI

Seitenzahl: 563

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Mastering Qlik Sense
Expert techniques on self-service data analytics to create enterprise ready Business Intelligence solutions
Martin Mahler
Juan Ignacio Vitantonio
BIRMINGHAM - MUMBAI

Mastering Qlik Sense

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.io

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.

Why subscribe?

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

PacktPub.com

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [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.

Contributors

About the authors

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.

Writing a book is not an easy endeavor—it took over 13 months to finish the title, not lastly due to Qlik's constant updates which had to be included. I would like to acknowledge the endless support and love from everyone who has been part of this journey, directly or indirectly, especially Maria, my parents, the brews, friends, and colleagues.

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.

Writing Mastering Qlik Sense is by far the most challenging yet rewarding thing I have ever done in my life. The feeling I had after writing each page is indescribable. I would like to thank everybody who has supported me along this journey, Julio in particular, my close friends, and colleagues, who in different ways have encouraged me to always give my best.

About the reviewers

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.

Martin and Juan made an excellent work synthetizing the must-have-knowledge in order to became a real Master in Qlik Sense. It was a true pleasure, and honor, to do one’s bit on this book.

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.

I would like to thank the authors and the publisher for the opportunity to work on the book. It has been very exciting to be a part of this project.

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.

Packt is searching for authors like you

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.

Table of Contents

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

Preface

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.

Who this book is for

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

What this book covers

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.

To get the most out of this book

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!

Download the example code files

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!

Download the color images

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.

Conventions used

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."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Get in touch

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.

Reviews

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.

Qlik Sense Self-Service Model

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

A review of 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.

Understanding the strengths and weaknesses of Qlik Sense, and how to best approach them and leverage the technology within the organization, is the goal of this book. For this understanding, the concept of the self-service BI model is key in order to also understand the Qlik Sense platform.

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.

The Self-Service model

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-service BI is defined as the facilities within the BI environment that enable BI users to be more self-reliant and less dependent on the IT organization.

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:

An example of a combination of different data

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.

The phrase developing in production is unheard of, yet this is exactly what self-service BI, and Qlik Sense, is trying to postulate, which can add increased value to the organization and reduce the costs of IT. The biggest hurdle in embracing a self-service environment in large organizations is cultural as BI becomes more dynamic.

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 IKEA effect

The IKEA effect is a cognitive bias which refers to the tendency for people to value things they create themselves as qualitatively higher than identical things created by someone else.

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.

User types in self-service

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.

Benefits and challenges of self-service