Showing posts with label Qlikview. Show all posts
Showing posts with label Qlikview. Show all posts

March 17, 2016

QlikView Vs Qlik Sense

QlikView Vs Qlik Sense

Qlik Sense is not just a new release of QlikView. Instead it is something different. There are so many similarities and differences between the two products

The two products have the same analysis engine and old scripts and old formulae will (almost) always work exactly the same way as before. Both the two products both have the same Green-White-Gray logic; both use the same calculation engine; both have roughly the same response times; and you should use the same considerations for both when it comes to data modelling.

Differences

1. QlikView  used for  Guided Analytics of QlikView and QlikSense used for Self Service BI.
2. QlikSense has a responsive UI on any platform QlikView don't have.

January 21, 2016

Business Intelligence - Comparision Matrix

-->
BI ProductTableau Qlik- QlikViewSASMicrostrategy
Company Tableau SoftwareQlikTechSAS InstituteMicrostrategy
Product URLhttp://www.tableau.com/http://www.qlik.com/https://www.sas.com/www.microstrategy.com
SegmentLeadersLeadersLeadersLeaders
STRENGTHSUsers can leverage the power of Self Service analytics with cool visualizations, drangging and dropping objects, measures and dimensions.Scripting has ablity to make clean data and do best data modelling. Patent associative tecnology.
Schema & SQL Engine uniqueness
WEAKNESSESData integration can be quite complex and without a clean data source the software isn't much use.GUI is sill not good as compared to Tableau or Qlik Sense
Development is not good in Desktop & Web and many options miss in web.
Deployment Platforms WindowsWindowsWindows,LinuxWindows,Linux
Self-service toolsYesYesYesYes
MobilityYesYesYesYes

October 08, 2014

Encryption In QlikView



There is no documented encryption functions for QlikView but it is possible with Expressor or VB script macro.
Using a self contained JavaScript encryption implementation i.e CyrptoJS and a few helper functions in the macro module, it is possible to encrypt and decrypt values in QlikView.

Create an empty QVW and copy this into the macro module. Also, add the encrypt/decrypt helper functions below at the end of the macro module.

function encrypt(value, key) {
    return CryptoJS.AES.encrypt(value, key).toString();
}
function decrypt(value, key) {
    return CryptoJS.AES.decrypt(value, key).toString(CryptoJS.enc.Utf8);
}


Now QlikView can encrypt and decrypt values using a specified key.

// Setup the encryption key
Let vEncryptionKey = 'Your Encryption Key Goes Here!099';

// Example with variable
Let vName = 'Justin';
Let vEncryptedName = encrypt('$(vName)', '$(vEncryptionKey)');
Let vDecryptedName = decrypt('$(vEncryptedName)', '$(vEncryptionKey)');

// Example with LOAD
ExampleWithLOAD:
Load
    Name,
    EncryptedName,
    decrypt(EncryptedName, '$(vEncryptionKey)') as DecryptedName
;
Load
    Name,
    encrypt(Name, '$(vEncryptionKey)') as EncryptedName
;
Load
    'Justin' as Name
AutoGenerate 5;

Data Compression in QlikView

QlikView uses an associative in-memory technology to allow users to analyze and process data very quickly. Unique entries are only stored once in-memory thus removing repetition in the data: everything else are pointers to the parent data. That’s why QlikView is faster and stores more data in memory than traditional cubes.
 e.g. if you have a million rows of data but a field contains only 100 unique values, then QlikView stores those 100 values only and not a million values. This applies equally to the RAM QlikView will need to hold the data as well as the hard disk space needed to store the QVW and QVD files. Since Qlikview is an in momry associative technology, you're limited only by the number of records you can fit in memory.
The limitations of the application are restricted by the physical capacity of the server running the document, the complexity of that document, and the density of the data.

If the report loads sales order data, for example, and the data contains customer name then there may be many duplicate values in the data for any customer who has ordered many times. QV will only store the customer name once and then keep track of where that customer name is used again as subsequent rows are loaded. 

You can even use this fact to your advantage when dealing with large volumes of data in QlikView. Breaking down a field into several fields can cause more repetition and thus reduce the amount of resources QV needs to hold the data both in RAM and on disk. Email addresses are prime candidates for this technique as the domain part will likely not be unique to one entry. Take this example:

Email Address

abcd@qlik.com
xyz@qlik.com
lmn@qlik.com


QlikView will consider each of these values as unique and thus will be storing the "@qlik.com" part repeatedly. If you were to split the email addresses at the "@” then the domain part becomes the same for all 3 records and thus QV will store it only once. You can split the email address using the following lines within a load statement:

....
Left (Email,index(Email,'@')-1) AS EmailName,
Right (Email, len(Email)-index(Email, '@')) AS EmailDomain
....

When wanting to display the email address in a chart you only have to concatenate the 2 fields together remembering to replace the '@' in the middle like this:

EmailName & '@' & EmailDomain

The same technique can be used for mail addresses, phone numbers, part codes and any other patterned, repetitive data. 

August 13, 2014

QLIKVIEW ON AMAZON EC2 and MICROSOFT AZURE



QLIKVIEW ON AMAZON EC2
The EC2 Cloud Compute offering allows customers to create virtual machines in the cloud on demand and pay for the length of time the machine runs. Customers can create and manage instances, their configuration and security using the browser EC2 Management Console. For use with QlikView a customer would create a Windows instance with sufficient resources and install QlikView onto that Windows host and make it available through the EC2 firewall.

QLIKVIEW ON MICROSOFT AZURE
Microsoft offer through its Azure product a Platform as a Service. While they do offer a hosted Virtual Machine capability the core is based around the dynamic hosting of web applications and SQL databases. The intention is that the customer doesn’t have to touch the Windows operating system that runs either the application or the database.
A web role is intended to host a web based application within IIS (Internet Information Services) on a Windows Server. To package QlikView into a web role the package must run the installer silently and then use the management API to license and configure the server. This style of deployment is well suited to deploying a configurable and packaged QlikView environment and so may appeal best to QlikView partners wanting to offer a similar offering to their customers. Once packaged a fully functional QlikView Server can be made available within 10 minutes and the same package could be used to deploy multiple servers with different configurations. The Azure platform provides a number of features under its Access Control Service (ACS) which allows customers to integrate applications with standards-based identity providers, including enterprise directories such as Active Directory, and web identities such as Windows Live ID, Google, Yahoo!, and Facebook. There are a range of examples provided by Microsoft also.

Qlikview as PaaS, IaaS and SaaS Service



Qlikview as PaaS, IaaS and SaaS Service

QlikView is an in-memory software platform and so speed of access to RAM is a key factor in delivering good performance to users. Similarly, availability of CPU power to perform aggregations on the fly and produce content for users is also key. Virtualization technologies place some restrictions of speed of access to RAM compared to physical servers and can also limit the number of CPUs available to a single machine; this is reflected in the maximum size that cloud servers can be with regard to RAM and CPU. This can mean that not all QlikView deployments are suited to being virtualized and so it is important to size a deployment of QlikView when considering use of cloud.
With QlikView this would mean all users would view the same QlikView apps but perhaps the data they see within those applications would be different.




QLIKVIEW AND IAAS
IaaS is a common cloud model used by QlikView customers; indeed QlikTech’s own demo.qlikview.com and other services are run from the IaaS model offered by Amazon EC2. This model allows QlikView customers to deploy infrastructure suitable for their environment and have full control over what QlikView applications they host in the environment and how they configure it.

With QlikView in a PaaS model, a customer could implement QlikView onto a hosted PaaS vendor’s technology. For this type of implementation, QlikView requires a Windows platform to run on. One such PaaS option is Microsoft’s Windows Azure. It is possible to package the QlikView product along with customer - or partner-built apps and deploy onto the Azure platform and so enable customers to be free of the infrastructure (i.e. hardware, network and OS) management.

End user access to QlikView hosted on Cloud:
In this kind of deployment there is no customization required for QlikView, just a simple configuration; however it does require that the customer has in place an SSO system that can make use of reverse proxy.In this type of setup the only device that ever physically touches the cloud server is the reverse proxy. No users will ever directly touch the cloud server or even know that it is a cloud server. This mechanism could serve both internal and external users and is an excellent approach for conforming to what can be the standard way of integrating security within an organization.



SAML (Security Assertion Markup Language) and federated security such Active Directory Federation Services can be used security systems that can make use of secure tokens to sign users into a range of systems as shown below.


With Active Directory Federation Services (ADFS) it is possible for users to seamlessly log in to a non-domain cloud server without being prompted to log in as their internal Windows credentials are used during the process of logging in. This gives an excellent user experience and ADFS is often implemented within organizations alongside their regular Active Directory which means there is no requirement for an additional SSO product or set of users.



In some cases there is no security system to integrate with beyond perhaps a known list of user IDs and passwords. In these cases a straightforward login page can be created in a similar way to the method previously mentioned to ask for, and validate, a user ID and password before logging them into QlikView. The user directory could be anything like Active Directory, LDAP, SSO systems, Databases (SQL, Oracle etc), Web based systems such as Windows Live, Google accounts or Facebook login.

August 04, 2014

Self-Service Business Intelligence and Analytics

Self-Service Business Intelligence and Analytics


Self-service means different things to different people, who want to interact and analyze data to discover new insights on their own and ability to consume it. Match self-service capabilities to your users: information consumers will be interested in reporting with little to no interactivity; more data-savvy users will want drill-down analysis, data querying, and report authoring capabilities; and analysts will want visual data discovery that helps them answer new questions as they arise.

Traditional BIs Vs QlikView :
Traditional BI suites usually remind us of rigid and complex UIs involving extensive usage of SQLs and resemble visual front-end extensions of databases.
Unlike traditional BI’s, QlikView sits on your existing data warehouses and infuses a broad set of self-service BI capabilities.Most traditional BI platforms don't fit into this. Controllers are usually not offered alongside models and views, that's why they are considered as visual extensions of your databases.Traditional report centric BI vendors have been vying to fit in the self service capability into their systems for a long time. Traditional BI architectures typically require mobile reporting layers.In contrast, QlikView offers a unified architecture for delivering cross platform Business discovery capabilities on mobile allowing users to benefit from a consistent experience across devices. Making full use of rich HTML5 features, QlikView offers appealing layouts, compelling visualizations and a bag full of touch interactions on new age mobile devices, thus delivering an user experience on par with native apps.



How QlikView offer Self-Service BI?

QlikView enables IT pros to deliver self-service BI, providing a competitive advantage to the business. With QlikView, IT allows business users to create their own analyses so they can arrive at innovative decisions. QlikView lets IT serve the business like never before—all while assuring strict data security, quality, and governance. Combined with the direct data access capabilities offered by QlikView’s Direct Discovery, virtually unlimited data can be addressed. It lets IT deliver a consistent, highly-responsive user experience, while freeing it up to focus on core competencies.

 QlikView enables IT professionals to deliver far more analytics and BI to the business than with any other approach. With its rapid application development capability, requests from the business for new apps can be answered much more quickly, changes to existing applications made easily and with its self-service approach, business users can get answers to their own questions without turning back to IT for a new report. This all contributes to the success of QlikView and makes IT groups who provide it to an organization true ‘champions to the business’.



ho want to interact and analyze data to discover new insights on their own - See more at: http://www.logianalytics.com/blog/5-keys-self-service-success#sthash.im9sszXi.dpuf
ho want to interact and analyze data to discover new insights on their own - See more at: http://www.logianalytics.com/blog/5-keys-self-service-success#sthash.im9sszXi.dpuf
Self-service means different things to different people - See more at: http://www.logianalytics.com/blog/5-keys-self-service-success#sthash.im9sszXi.dpuf
Self-service means different things to different people - See more at: http://www.logianalytics.com/blog/5-keys-self-service-success#sthash.im9sszXi.dpuf

May 20, 2014

QlikView vs Tableau

Qlikview is a vastly more capable tool for a technical person, the scripting language is amazingly powerful. Qlikview is a brilliant tool with amazing ETL capabilities and flexibility.

Associative Experience, In-Memory, Compression of data, on the fly - calculations and huge customziation in terms of pixel perfect dashboards. create layering of your charts and images, actions, navigation controls and show/hide options and several more. Decoding of other person work is easier.

1) The ease with which self-service BI can be achieved via a small scale trail deployment

2) The SQL scripting which is easy to understand by end-users

3) The Pivot functionality, because it is so very familiar to the high-end Excel users and allows for an extremely fast adoption rate

4) It can be deployed with limited training to end-users

a. For the “developer” end-user with a bit of previous VBA skills it is a breeze to create new applications

b. For the pure end-user the interaction with the data is amazingly simple

c. The “cloning” capability allows users to develop different views of the same data until they have the right dashboard look and feel

5) The fact that it brings a DASHBOARD to the end-users in mere minutes with the minimum of installation time and development time

6) Nothing beats showing a sales team the results of 3 million invoice records on a normal i3 pc with 2 GB ram (took +/- 10 minutes to develop for zero to a full blown dashboard that showed revenue by location, by customer, by salesman, by product, by year over a 3 year time axis)



Tableau has found its sweet-spot as an agile discovery tool that analysts use to create and share insights. It is also the tool of choice for rapid prototyping of dashboards. Tableau - Purely self service BI and Visualization tool. Drag and drop feature. VizQL and Show Me Options. It teaches you visualization. Visualization is much better here. But decoding of other person work is difficult.

1.From the rapid development and data discovery point of view Tableau is surpassing. You need only a db connection and you are on the way.

2.Tableau is very flexible with its data import. Tableau's data blending capability is very intuitive. This capability is useful when you have data spread across several different sources that has not gone through ETL processes. This is a problem analysts deal with routinely. They are unable to wait for the data warehouse team to develop ETL processes to provide the physical models they need to build an analysis.

3. The Tableau interface is Excel-like and has a low barrier to entry for analysts that are used to working in Excel.

4.Building a dashboard by mashing up visualizations in a Tableau worksheet is extremely simple. Users are able to build good presentation-quality dashboards in a very short time.

5.Tableau's annotations capabilities and its time and geographical intelligence are key differentiators.

6. Tableau has overcome limitations in data sharing with the introduction of a Data Server in Tableau 7.0. The Data server allows Data sources and extracts to be shared securely and opens up interesting new possibilities.

If your application can take advantage of the above characteristics, consider Tableau.

May 07, 2014

QlikView: Client Access Licenses

QlikView: Client Access Licenses
To connect to a QlikView Server (QVS), each client needs a Client Access License (CAL). The CALs are tied to the server serial number.

CAL Types:
1. Named User CAL
A Named User CAL is assigned to a unique and identified user who may access as
many QlikView documents as may reside on the server or server cluster to which
the Named User CAL is assigned. A Named User CAL may be transferred to
another user pursuant to the software licensing agreement, in which case there is
a 24-hour quarantine before the Named User CAL can be transferred to another
user. There is no time limit for how long a user assigned a Named User CAL can
access a QlikView document.

2. Document CAL
A Document CAL is assigned to a unique and identified user who may access only the one
QlikView document to which the Document CAL is assigned. Multiple
Document CALs can be assigned to a particular user. For example, if a user
connects to two QlikView documents, the user will have been assigned two
Document CALs. A Document CAL may be transferred to another user pursuant
to the software licensing agreement, in which case there is a 24-hour quarantine
before the Document CAL can be transferred to another user. There is no time
limit for how long a user assigned a Document CAL can access the QlikView
document to which the CAL is assigned.


3. Session CAL
A Session CAL allows any user, identified or anonymous/unidentified, on one
QlikView client to access as many QlikView documents as may reside on the
server or server cluster to which the Session CAL is assigned for a minimum
period of 15 minutes. For Session CALs, the QlikView client refers to each
unique instance of the QlikView client (for example, the AJAX client, QlikView
Desktop, or the Internet Explorer plugin) on the user’s machine. The minimum
session time for a Session CAL is 15 minutes, which means that sessions that
end in less than 15 minutes will still consume the session until the 15 minute
mark is passed; those which terminate after 15 minutes will consume their actual
session length.

4. Usage CAL
A Usage CAL allows any user, identified or anonymous/unidentified, to access
only one QlikView document, residing on the server or server cluster to which
the Usage CAL is assigned, from one client (for example, the AJAX client,
QlikView Desktop, or the Internet Explorer plugin) for a time period of 60
minutes per 28-day period. If a user exceeds the 60 minute time limitation, the
user will have consumed two Usage CALs without any warning being given to
the user. Every 28 days, the Usage CAL is refreshed and the user may once again
view a new QlikView document for 60 minutes, using the same Usage CAL.
Usage CALs are continuously recharged (at a pace corresponding to 1/28 of the
total number of Usage CALs assigned to the QlikView Server per day)

License Lease
A QlikView client that does not have a registered license is allowed to connect to QlikView Server and
“borrow” a license, so that the user can work offline for a period of 30 days. The QlikView client must
then make an authenticated log on (not anonymous) and obtain a Named User CAL. Each time QlikView
is started, QlikView tries to contact QlikView Server and renew the license lease. If the client cannot
reach the server after 30 days, the license lease expires.
A license lease can only be used with QlikView Desktop and the Internet Explorer plugin. This means a
license lease cannot be obtained when using an AJAX client.



In QlikView 10 open QEMC and follow this tree : tab System -> Licences -> then click on QlikView Server -> Client Access Licences -> Assigned Cals -> then type username and click on "Assign Cal" button and then Say Apply at the bottom. Now he/she can access the application from access point .



April 30, 2014

Set Analysis in Qlikview


Why use set analysis?

In QlikView the selection you make can be considered as a set, the selection not made are another set. Using set analysis these sets can be customized to make a conceptual selection so that we display the desired values on the charts. Set analysis always involves an aggregation function.

Qlikview set analysis is a powerful way for you to create dynamic data sets mainly for comparison analysis.
 
The QlikView set analysis is based on the set theory.

A set analysis is calculated before the chart is computed and redrawn. As you may notice, it is NOT calculated per each row/column in the chart. So, you may not guess a scope of product depending on the rows that are products. You may not guess another set of periods depending of the columns if the Period dimension is in column : the YTD or moving totals you may encounter are often valid only if the period is not a dimension of the chart. The sets let you create a different selection than the active one being used into the chart or table. The created group let you compare the aggregations of this group and the one of the current selection.
These different aggregations let you compare for example the sales of the current month and those of the
previous year, create YTD or moving totals. You may also create market shares, a percentage of the
products, of the year ….

A set modifies the context only during the expression that uses it. Another expression without any
set will get the default context, standard selection or the group of the Alternate State.
A set is always written between curly braces {…}. A set can modify the selection of one or several
dimensions. It can be composed of a single set but can include also an inner set.
 A set analysis is calculated once per chart (or table). NOT once per row. If you
want a different result in your set analysis according to the row being calculated and displayed, it will NOT
work
A set may be composed of:
- An identifier
- An operator
- A modifier
These 3 fields are optional. Of course, to write a set, you will need to incorporate one or several of these
fields. 



1.  Set analysis begins and ends with { }

2. Modifier begins and ends with <  >
3. Operator:  =
4. Identifier is not shown but it is $ which is the default state in Qlikview.



For those of you who know SQL, set analysis is akin to a SELECT…. GROUP BY delivered in a concise expression. 
Identifier is like a SELECT keyword and Modifier is  like a WHERE clause or a filter in your SQL select statement. It works on the selected data set — based on your identifier — to add, remove or to modify existing selections.
 
 
Basic set analysis syntax consists of Identifiers, Operators and Modifiers.

Identifiers - Identifiers can be compared to a from statement in SQL. The identifier determines the set we will be operating on. Identifier begins and ends with the curly brackets. Following are the identifiers we can have in set analysis.

Identifier
Description
0
Represents an empty set
1
Represents the full set of all the records in the application
$
Represents the records of the current selection
$1
Represents the previous selection
$_1
Represents the next (forward) selection
Bookrmark01
Represents the bookmark ID or the bookmark name
Group – group name (Alternate State)

Sum({Book1} [Sales]) : sales of the selection of Book1
Sum({Group1} [Sales]) : sales of the Alternate State Group1 (the syntax is identical)
Sum({1} [Sales]) : sum of everything (All dimensions are completely reset to All)
Sum({$} [Sales]) : sum of the current selection (= sum([Sales])

Operators - Operators are used to operate on the identifier. Following are the operators we can have in set analysis.

Operator
Operator Name
Description
+
Union
Returns a set of records that belongs to union of sets.
-
Exclusion
Returns records that belong to the first but
not the other of the two set identifiers.
*
Intersection
Returns records that belong to both of the
set identifiers.
/
Symmetric Difference
Returns a set that belongs to either, but not
both of the set identifiers.

Example : sum({$ * Bookmark01} Sales) returns the sum of sales that is an intersection between the bookmark and current selection.

If you use the operators with the equal sign:
: add the set to the current selection
: remove the set from the current selection


Sum({1-$} [Sales]) : sum of the sales of the « database » except the current selection
Sum({GROUP1 * Book1} [Sales]) : sum if the sales for the intersection of Group1 and Book1 (the
members belonging to both)

Modifiers - Modifiers can be compared to the Where clause in SQL. These are additional or changed selections. The modifiers should always be in angle brackets.

Example - sum({$} Sales)

This will give the sum of sales for year 2010 and region US. Note that Year and Region are modifiers in the expression.

Using p() and e()

These functions returns the members that have (or have not) data. They are based on the associative
model.
Syntax: {) [, Other
dimensions of the Set]>}
Please note that:
- Both functions p() et e() have the same syntax : one p() returns the possible values, the other e()
returns the excluded values
- They will be inserted into a greater set
- These functions do let you search the Top N products or those whose sales are greater than X :
they just return the members (ie the products) that have data, or those that have not.

Using IF statement

It may happen that we need different set analysis according to the user selection. For example, if the user
chooses one single product, we want to compute/display all of them. If he chooses several, we want to
show/compute them as they are selected.
The IF statement cannot be used within the set analysis itself. But we can use a variable … that can
contain a IF statement.
Let’s create a variable vSet that will be a formula: =if(GetSelectedCount(Product)=1, 'Product=', '$')

And we just need to use this variable in the set itself: sum({<$(vSet)>} Sales)

Stop Memorizing SQL Part 3 : A Practical SQL Cheat Sheet for Beginners

 A Practical SQL Cheat Sheet for Beginners When learning SQL, students often struggle to remember the correct syntax during exams or practic...