Escolar Documentos
Profissional Documentos
Cultura Documentos
Michael Alegado
Agenda
9:00 am 5:00 pm Break at 9:45 or as needed Lunch 11:30 or 12:00 for 1 hour Break at 3:00 pm or as needed Questions/discussions throughout
Agenda
INTRODUCTION QLIKVIEW DEVELOPMENT METHODOLOGY DEPLOYMENT INTRODUCTION TO DATA AND SCRIPTING BASIC SCRIPT SYNTAX STRUCTURING THE SCRIPT BASIC DATA MODEL AND TABLE VIEWER BASIC DATA TRANSFORMATION ADDING TEXT DATA
Agenda
GENERATING DATA IN THE QLIKVIEW SCRIPT SCRIPTING CONSIDERATIONS QLIKVIEW DATA (QVD) FILES MAPPING TABLES LOADING BUDGET DATA DATA MODEL OPTIMIZATION ADVANCED CALCULATIONS IN SHEET OBJECTS SCRIPTING AND DATA MODELING CHALLENGES PERFORMANCE OPTIMIZATION QLIKVIEW SECURITY
Lesson 1 Introduction
Learning Objectives
Explain the difference between QlikTech and QlikView Identify what is business discovery Identify the QlikView product family
QlikView
QlikView is a Business Discovery platform Data presented in easy to understand format Manages information Associative connections
About QlikTech
Software company Founded in Lund, Sweden in 1993 Founded on the belief that business intelligence (BI) should be about the business user
Learning Objectives
Identify the importance of Document/Sheet XML Import/Export Review Project Plan State the QlikView deployment options
What is QPM?
QPM = QlikView Project Methodology is a description of all project management activities, documents and QlikView Deliverables in all the phases of a QlikView project By using this Project Methodology we will be able to make a difference in the customer experience and making the best use of the QlikView capabilities.
QPM Framework
Execution
Pre-Study
Start-Up Project
Business Objectives Prepare Enterprise Platform
Planning
Project Plan
Prioritized Business Requirements Define Enterprise Platform Build
Test
Implementation
Multiple Apps User Review Deployment User Communication Refine Realize Enterprise Platform
Conclusion
Evaluation Hand Over Lessons Learned Project Completion
TG 0
TG 1
TG 2
TG 3
TG 4
TG 5
Start
Proceed
Start Cycle(s)
Finish Cycle(s)
Go-Live Apps
Close
Benefits
Better and more Engagement with our Enterprise Customers Direct Influence on succes and our own mission Control and Quality QPM helps frame the potential growth for QlikView Manage our customers expectations for the investment in resources, training and hardware. Great feedback loops for QT Sales, Product Development, Marketing Strenghten our partnerships with more action together! Effective Sales Cycles Great opportunities for ES Consultants
Lesson 3 Deployment
Learning Objectives
State the QlikView deployment options Identify the functional and business benefits of each example deployment option
QlikView Overview
QlikView Server supports the following clients: Browser-independent, downloadfree Ajax client Installed Windows client Internet Explorer browser plug-in Apple iPad and iPhone Android devices BlackBerry
QlikView Server
Project Plan
QWT Business Intelligence Project Plan
Learning Objectives
Identify what is a relational database Identify what is a data structure Review the QWT.mdb database Use the QlikView Script Editor
Relational Databases
Table
Field
Key Field
Fact Table
Dimension
Dimension
Dimension
Dimension
Dimension
Dimension
Dimension Dimension
Fact
Dimension Dimension Dimension
Dimension
Dimension
Learning Objectives
Identify common QlikView Syntax State the difference between Connect, Select, and Load statements Create a working Connect statement
SQL SELECT Instructs which field and tables to retrieve automatically created when using the wizard
2 1
SELECT
3
Learning Objectives
Comment the script for future reference Load data with the QlikView Script Editor Access the Debugger
Connecting to databases
ODBC (Open DataBase Connectivity)
OLE DB (Object Linking and Embedding, Database) More advanced way to connect to databases, also multidimensional databases possible) The CONNECT statement generated, applies to all following SELECT statements until a new CONNECT statement is made.
OLE DB
ODBC
Learning Objectives
State why creating tabs can be beneficial when structuring a QlikView Script Create tabs to structure your script
Often when building a QlikView application, many tables are used and sometimes you want to manipulate existing tables. To make the script easier to work with, we divide the script into different tabs
Synthetic keys
Complex Key(s) consisting of two or more fields between two connecting tables.
Implications Resource heavy Slows down calculations Makes a document harder to understand and maintain How can it be removed? Selectively remove double fieldnames Rename fieldnames Use qualify statement
Learning Objectives
Use the Table Viewer to analyze the internal structure of a QlikView document Identify how the Table Viewer can be used to debug problems
Learning Objectives
Define the advanced uses of the script editor Rename Fields Use transformative Functions in the script
Load Statement
The load statement loads Fields from a typed ASCII file, from data defined in the script, from a previously loaded table, from the result of a following select statement or by generating data automatically. The general syntax of the load statement is:
load [ distinct ] *fieldlist [( from file [ format-spec ] | from_fieldfield [format-spec] inline data [ format-spec ] | residenttable-label | autogenerate size )] [ where criterion ] | while criterion ] [ group_by fieldlist ] [order_by field [ sortorder ] { , field [ sortorder ] }
Renaming Fields
Solution:
Use distinct Load the field an extra time under a new name Load a record counter
FROM Orders;
You can now use the new field (not associated) in a list box that shows the frequency or a chart with functions to calculate the frequency.
FROM Orders;
This way of solving the problem is more efficient when working with large amounts of data since a sum of a numeric value takes very little power compared to a count of a value.
Learning Objectives
Review data sources from Excel spreadsheets Use the File Wizard to load data into QlikView Transform (rename a field) data with the File Wizard
Learning Objectives
Use Resident Load Create Data from Other Data and Autogenerate Load Data using External Scripts with Include Create a Master Calendar
OrderDetails
Order By OrderDate ASC peek 0 OrderDate 2007-04-19
Temp Calendar
DateField Autogenerate varMaxDate varMindate TempDate
Master Calendar
TempDate as OrderDate -1 2012-03-29 RESIDENT DateField
Learning Objectives
Create a Synthetic Key Identify Circular References Define Loosely Coupled Tables State why these conditions should be avoided
Circular References
Circular References
QlikView solves the problem by Loosely coupled tables
Learning Objectives
Define QVD files Explain why QVD files are so important Create a QVD file manually Generate a QVD file automatically
Learning Objectives
Identify when to use mapping tables Create mapping tables to add Quarters to the Orders table Identify areas to clean up in the table structure
Mapping Tables
Mapping prefix Must have two columns
Learning Objectives
Identify cross tables Use the File Wizard to transform the data and create load script
Cross Tables
A cross table is a common type of table featuring a matrix of values between two orthogonal lists of header data.
Learning Objectives
Review key measures Use, Conditions in tables, Aggregation, Joining tables and Pre-ceding Load on Preceding Load within the script
Aggregating Data
Group by is a clause used for defining over which fields the data should be aggregated (grouped)
Joining Tables
It is possible to join tables already in the script The join between tables can be performed against the source database or you can use a QlikView Join command
Concatenation
Concatenation can be used to join data together from multiple tables Automatic Concatenation Forced Concatenation Prevent Concatenation
Objectives
Introduce advanced calculations in charts and tables, including: Dimension Limits Set Analysis Dollar-Sign Expansion AGGR Function Complete exercises using examples of each of these functions
Dimension Limits
New capabilities for a chart to show totals, other segments and limit to top/bottom performing dimension values Moves these features into the cube vs. the presentation layer Consistency across charts New capabilities will simplify numerous chart acrobatics from earlier releases
Dimension Totals
Set Analysis
Can create sets based on other sets. Must be used in aggregation expression. Always begin and end with curly brackets {}
Identifiers
Examples: sum({1} Sales) Returns total sales within the application, disregarding selections but not the dimension. sum({$} Sales) Returns sales for the current selection, i.e. the same as sum(Sales).
Set Modifiers
A set can be modified by additional or changed selections. Such a modification can be written in the set expression. The modifier consists of one or several field names, each followed by selection(s) that can be made in the field. Modifiers begin and end with angle brackets <>.
Modifiers - Examples
sum({$<OrderDate = DeliveryDate>} Sales) Returns the sales for the current selection where OrderDate = DeliveryDate. sum({1<Region = {US}>} Sales) Returns the sales for region US disregarding the current selection. sum({$<Region = >} Sales) Returns the sales for current selection, but with the selection in Region removed. sum({<Region = >} Sales) Returns same as the example above. When the set to modify is omitted, $ is assumed. sum({$<Year={2000}, Region={U*}>} Sales) Returns the sales for current selection, but with new selections both in Year and in Region.
Dollar-Sign Expansion
AGGR Function
AGGR is a powerful QlikView function that returns a set of values of expression calculated over dimensions. The table shows information on how many customers have placed one order, two orders etc, and also the average order value.
Coverage
Set Reference
No
No
Detach/ Attach
Object
Yes
No
Bookmark
Select, save.
Expression
Yes
No
Alternate State
Yes
Yes
Assign
Tie sheets & objects to Alternate States
Simplify design
Use
User Interactions
Define
Inherit
1. 2. 3. 4.
Dynamic Colors
if(StateName() = 'Group 1', rgb(152, 171, 206), if(StateName() = 'Group 2', rgb(187, 200, 179), rgb(210, 210, 210) ) )
Linked Objects
If the copied object has a setting of INHERIT, it may perform differently in another location (sheet/container) WHY?
New actions
Selection: COPY STATE (to a new state) Selection: SWAP STATE (exchange selections in 2 named states) Layout: ASSIGN STATE (to an object) Build more dynamic UIs to provide user with sense of state definition
See Demo
Objectives
Explain the use link tables Calculate net change within a field Use advanced functions for handling time Identify why dynamic aggregation and interval matching are important
Link Tables
Date Island
Interval Match
Objectives
Discuss performance tuning Explore the impacts of appropriate document design Introduce security concepts Review best practices
Objectives
Identify the components of QlikView document security Explain access control and restrictions Practice implementing QlikView Section Access
Objectives
Build a working QlikView analysis application
Review business requirements Review data sources Plan development effort Build application
Scenario
ACME Inc., is a food & drink distributor selling to different types of stores across the United States and also internationally. They are interested in getting a better understanding of their Sales and Margin performance across their business. They have asked you to develop a Sales Analytics QlikView application for them. The application will be used by their top executives, their product managers and also their salespeople.
Thank You.