O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Qlik Sense

Book Description

Master the capabilities of Qlik Sense to design and deploy solutions that address all the Business Intelligence needs of your organization

About This Book

  • Create compelling dashboards and visualizations with your data by leveraging Qlik Sense's self-service model
  • Perform data loading and model efficient solutions with faster performance and better governance
  • Master Qlik Sense's APIs and develop powerful mashups and fantastic extensions for visualizations and other components that run across all platforms

Who This Book Is For

This book is for Business Intelligence professionals and Data Analysts who want to become experts in using Qlik Sense. If you have extensively used QlikView in the past and are looking to transition to Qlik Sense, this book will also help you. A fundamental understanding of how Qlik Sense works and its features is all you need to get started with this book.

What You Will Learn

  • Understand the importance of self-service analytics and the IKEA-effect
  • Explore all the available data modeling techniques and create efficient and optimized data models
  • Master security rules and translate permission requirements into security rule logic
  • Familiarize yourself with different types of Master Key Item(MKI) and know how and when to use MKI.
  • Script and write sophisticated ETL code within Qlik Sense to facilitate all data modeling and data loading techniques
  • Get an extensive overview of which APIs are available in Qlik Sense and how to take advantage of a technology with an API
  • Develop basic mashup HTML pages and deploy successful mashup projects

In Detail

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.

Style and approach

This book provides in-depth knowledge on complex visualization processes.

This guide will take you straight to complex implementation techniques.

While covering the concepts, the use cases will help you understand how they work and how to utilize them.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Mastering Qlik Sense
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the authors
    2. About the reviewers
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Qlik Sense Self-Service Model
    1. A review of Qlik Sense
    2. The Self-Service model
    3. The IKEA effect
    4. User types in self-service
    5. Benefits and challenges of self-service
      1. Benefits
      2. Challenges and risks
    6. Recommendations on deploying self-service with Qlik Sense
    7. Summary
  7. Transitioning from QlikView to Qlik Sense
    1. Journey from QlikView to Qlik Sense
    2. QlikView and Qlik Sense comparison
    3. The different approach to projects
      1. Requirements gathering
      2. Implementation
      3. Maintenance
    4. Differences in the loading script
      1. Script statements not supported in Qlik Sense
      2. Script expressions not supported in Qlik Sense
      3. Prefixes not supported in Qlik Sense Script
      4. Script statements not recommended in Qlik Sense
    5. Differences in the frontend
      1. Frontend functions not recommended in Qlik Sense
      2. ALL qualifier
      3. Commonalities
    6. Where to upskill to transition to Qlik Sense
    7. Qlik Sense on mobile
    8. Summary
  8. Security Rules: Attribute Based Access Control
    1. Introducing Attribute-Based Access Control
      1. Security rules properties
        1. ACAB policy properties
        2. Identification properties
        3. Other properties
    2. Administrator roles
      1. Default administrator roles
      2. Custom security roles
        1. Creating security roles
        2. Assigning users security roles
    3. Security rules resources
      1. Resource filters
        1. Naming resources in the resource filter
      2. Resource types
        1. App-related resources
        2. Task resources
        3. ContentLibrary related resources
        4. Hub section resources
        5. QMC section resources
        6. License related resources
        7. Node or service related resources
        8. Other resources
    4. Security rules actions
    5. Security rules conditions
      1. General structure of a condition
        1. Functions for conditions
        2. Operands for conditions
        3. Basic rule editor
        4. Validating the security rule condition
    6. Auditing security rules
      1. Working with auditing
        1. Audit results
        2. Audit investigation
      2. Auditing when creating new security rules
    7. Security rule uses cases and examples
      1. Security rules example: Creating QMC stream admin roles
        1. Resource filter
        2. Conditions
        3. Action
      2. Security rules example – Qlik Sense access rights for AD groups
        1. Security rule for creating apps (developer)
          1. Security rule for creating data connections (developer)
        2. Security rule for creating app objects (developer and contributor)
    8. Summary
  9. Master Items in Qlik Sense
    1. Understanding Master Items
    2. Different types of Master Items
      1. Master dimensions
      2. Master measures
      3. Visualizations
    3. Working with Master Items
      1. Master dimensions
        1. Creating master dimension from a field
        2. Creating master dimensions from the asset panel
        3. Creating master dimensions from the data model viewer
        4. Creating master dimensions via the API
      2. Creating calculated master dimensions
      3. Creating a drill-down master dimension
      4. Editing, deleting, and duplicating master dimensions
    4. Master measures
      1. Creating master measures from a field
      2. Creating master measures from the data model viewer
      3. Editing, deleting, and duplicating master measures
    5. Master visualizations
      1. Creating master visualizations
      2. Editing, deleting and duplicating master visualizations
    6. Summary
  10. Qlik Sense on the Cloud
    1. Data analytics in the cloud
    2. Qlik Sense cloud models
      1. Qlik Sense Cloud Basic
      2. Qlik Sense Cloud Business
      3. Qlik Sense Enterprise in the cloud
      4. Features overview
    3. Hybrid cloud
      1. Example of a hybrid cloud analytics solution
    4.  Summary
  11. Qlik Sense Data Modeling
    1. The engine drives everything
      1. Engine components
        1. The QIX internal database
        2. The logical inference engine
        3. The calculation engine
    2. What should be done upstream from Qlik Sense?
      1. Things to do upstream of Qlik Sense
        1. Things to do in the Qlik Sense script
        2. To do in the Qlik Sense UI
    3. Star schema fact and dimension tables
      1. Fact tables
      2. Dimensions
      3. Joins
    4. Summary
  12. Best Practices for Loading Data in Qlik Sense
    1. Data loading concepts
      1. Data Manager
        1. Opening Data Manager
        2. Associations
          1. Associations and bubbles
          2. Adding data 
          3. Automatic association
          4. Loading data
        3. Tables
          1. Tables overview
          2. Editing a table
          3. Table field types
          4. Associated fields
          5. Breaking or editing associations
      2. Loading data using the script editor
        1. Opening Data load editor
        2. The Main tab
        3. The Auto-generated section
        4. Analyzing the code in the Auto-generated section
        5. Geo data fields
        6. Field tags
        7. The Declare and Derive fields
          1. The Declare syntax
          2. The Derive syntax
    2. Optimizing your data loads
      1. QVD files
        1. Creating and storing QVD files
        2. Loading data from a QVD file
        3. Optimized loads
          1. Examples of optimized loads
          2. An example of a non-optimized load
    3. Incremental loads
      1. Append
      2. Insert only
      3. Insert and update
      4. Insert, update, and delete
    4. ETL – extract, transform, load
      1. When not to use the ETL approach
      2. When to use the ETL approach
      3. The old approach to ETL
      4. The Qlik Sense approach to ETL
      5. Pros and cons of the new ETL approach
    5. Summary 
  13. Advanced Scripting
    1. Formatting settings through variables
      1. System variables
        1. HidePrefix and HideSuffix
        2. include and must_include
        3. CreateSearchIndexOnReload
      2. Value handling variables
        1. NullDisplay
        2. NullInterprete
        3. NullValue
      3. Number interpretation variables
        1. DecimalSep
        2. ThousandSep
        3. DateFormat
        4. MonthNames and LongMonthNames
        5. DayNames and LongDayNames
    2. Script control statements
      1. Organizing your script
        1. Sub ... End Sub
        2. Call (subroutines)
      2. Looping
        1. Do... Loop
        2. For... Next
        3. For Each... Next
        4. Switch... Case... Default... End Switch
      3. Conditional statements
        1. If... Then... Elseif... End If
    3. Table stats
      1. RecNo
      2. RowNo
      3. NoOfRows and NoOfFields
    4. Data security with Section Access
      1. Section Access and Section Application
      2. Fields in section access
      3. Data reduction
        1. Reducing rows
        2. Reducing fields
    5. Advanced sample scripts
    6. Summary 
  14. Advanced Expressions in Qlik Sense
    1. Set analysis
      1. Parts of set analysis
      2. Set expressions
        1. Identifiers
        2. Operators
        3. Modifiers
          1. Set modifiers dive in
          2. Set modifiers with set operators
          3. Set modifiers using assignments with implicit set operators
          4. Set modifiers with advanced searches
          5. Set modifiers with implicit field value definitions
          6. Set modifiers with expressions
      3. Comparing to other fields
        1. Field-to-field comparison 
        2.  P() and E() functions 
    2. Variables
      1. Using variables in your script
        1. The difference between SET and LET
        2. Creating variables
        3. Reading the value of variables
        4. Dollar-sign expansion with variables
        5. User-defined functions
        6. Deleting and reusing variables
      2. Using variables in your application
        1. Opening the Variable menu
        2. Creating a variable
        3. Dollar-sign expansion in expressions - reading a variable
        4. Deleting a variable
      3. Using variables in expressions
      4. Using variables in set analysis
        1. Using variables to replace strings
        2. Using variables to replace numbers
    3. Maintaining expressions
    4. Summary
  15. Overview of Qlik Sense APIs
    1. What is an API?
    2. Description of Qlik APIs
      1. API Stability
    3. Engine API
      1. Request syntax
      2. Response syntax
    4. Extension API
      1. Hello World using the Extension API
      2. Setting initial properties
      3. Exporting and printing
    5. Backend API
    6. Capability API
      1. Root API
      2. App API
      3. Bookmark API
      4. Field API
      5. Selection API
      6. Variable API
      7. Visualization API
      8. Global API
      9. Navigation API
      10. Table API
    7. enigma.js
      1. Using enigma.js in Node.js apps
      2. Using enigma.js in extensions
    8. Leonardo UI
      1. Using Leonardo UI with Node.js
      2. LUI icons
      3. LUI buttons
      4. Other LUI components
    9. halyard.js
    10. Summary
  16. Working with the Qlik Dev Hub
    1. Dev Hub
      1. Opening Dev Hub
      2. Dev Hub overview
    2. The Single configurator
    3. The Extension editor
    4. The Mashup editor
    5. The Widget editor
    6. QlikView converter
    7. Summary
  17. Coding in Qlik Sense
    1. HTML5
    2. CSS
      1. CSS selectors
        1. Element type selectors
        2. ID selectors
        3. Class selectors
        4. Attribute selectors
        5. Combining different selectors
    3. JavaScript
      1. Coding with JavaScript
        1. JavaScript is code and not data or a markup language
        2. Everything in JavaScript can have a property
        3. Variable scoping
        4. JSON
        5. AJAX
        6. JavaScript libraries
        7. JavaScript is not just for browsers
    4. RequireJS
      1. RequireJS takeaways
    5. AngularJS
      1. It's all about bringing structure to JavaScript
      2. Scope
      3. Controllers
      4. Templates
      5. Directives
      6. Creating your own directives
      7. AngularJS takeaways
    6. D3.js as a visualization library
      1. SVG
      2. Selections
      3. enter() and exit()
      4. Dynamic properties
      5. Transitions
      6. D3 takeaways
      7. Debugging
        1. Diving into the world of F12
        2. Inspecting the DOM
        3. Debugging JavaScript code
          1. Adding a breakpoint
          2. Debugging the breakpoint
          3. Running the debugger
        4.  Inspecting the Qlik Sense API WebSocket
    7. Summary
  18. Creating Extensions in Qlik Sense
    1. Structuring your code
      1. The .qext file
      2. The JavaScript file
        1. The paint() method
        2. The resize method
        3. initialProperties
        4. definition
        5. importProperties
        6. getExportRawDataOptions
        7. support
        8. controller and template
    2. The properties panel
      1. Reusable property components
      2. Defining custom property components
        1. Custom components
        2. Creating your own components using AngularJS
        3. Using custom array items
      3. Best practice on property panels
        1. User experience
        2. Expressions
        3. Grouping your properties
          1. Using variables in the properties panel
          2. Defining related properties of objects
          3. Grouping properties in the panel
    3. HyperCube
      1. qHyperCubeDef
      2. qHyperCubeDef properties
        1. qDimensions
        2. qMeasures
        3. qInitialDataFetch
        4. qStateName
        5. qInterColumnSortOrder
        6. qSuppressZero
        7. qSuppressMissing
        8. qMode
        9. qNoOfLeftDims
        10. qAlwaysFullyExpanded
        11. qMaxStackedCells
        12. qPopulateMissing
        13. qShowTotalsAbove
        14. qIndentMode
        15. qCalcCond
        16. qSortbyYValue
      3. Returned qHyperCube structure
      4. qListObjectDef
      5. qStringExpression and qValueExpression
    4. Example 1-bar chart
      1. Requirements
      2. Folder structure
      3. Property panel
      4. Template
      5. Let's get started-MasteringQSBarChart.js
        1. Preparing the SVG structure for the chart and the axis
        2. Initializing the SVG chart
        3. Rendering the SVG chart
          1. Data preparation
          2. Data visualization (finally)
      6. Styling your bar chart-MasteringQSBarChart.css
      7. Adding selections to the bars in the chart
      8. Wrap-up
    5. Example 2- drop-down list
      1. Requirements
      2. Folder structure
      3. Property panel
      4. Template
      5. Let's get started-MasteringQSdrop-down.js
        1. Adding selections
        2. Adding read-only mode
        3. Showing the frequency
        4. Styling your drop-down values
      6. Wrap-up
    6. Qlik Branch and other open source repositories
      1. Qlik Branch
      2. bl.ocks-D3 open source platform
    7. Summary
  19. Integrating QS in Websites via Mashups
    1. Getting set up
    2. Connecting to the Qlik Engine
      1. Creating a connection
        1. Creating a Connection using WebSockets
        2. Creating  a Connection to the Qlik Server Engine
          1. Creating a connection using certificates
        3. Creating a connection using the Mashup API
        4. Creating a connection using enigma.js
    3. Embedding objects
      1.  Single configurator
      2. Using the Object ID
      3. Create visualizations on the fly
    4. Interacting with the Engine
      1. Creating HyperCubes
      2. Connecting to fields
      3. Creating a selection listener
    5. Summary
  20. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think