Comparing QlikView and Qlik Sense
This topic describes some of the key similarities and differences between QlikView and Qlik Sense.
The document and the app
The QlikView document and the Qlik Sense app are similar in their architecture. Both are containers for the objects that are used to present data for analysis. They can contain data connections, load scripts, data models, sheets, charts, variables, and so on.
Development and consumption
In both QlikView and Qlik Sense, you need to build an app or document before you can analyze the data. This means:
- Creating and running a load script that defines what data to load into the app. The load script pulls data from one or several data sources into the app, and then creates the data model that is the foundation for all analysis.
- Creating a user interface needed for the analysis. This means creating different visualizations (bar charts, pie charts, tables, and so on), different expressions to define the different KPIs, and different selection objects (list boxes, sliders, input boxes, and so on). It also means grouping different components visually, for example on sheets, so the data is presented for a user that is not familiar with the content.
Traditionally, these two steps have been made by a dedicated business intelligence expert who is not the primary consumer of the data. The primary consumer of data is a business user who consumes the app. This scenario is often referred to as guided analytics, since the business user is guided to some extent in what data to analyze. Consumers are not, however, guided in what selections to make. They still have total freedom to select anything in the app and in any order.
Both Qlik Sense and QlikView can be used for guided analytics.
Qlik Sense was however also developed to support self-service. In this scenario, business users can create an app from scratch, or add content to an app, without any specific help from the experts. The two steps above are still valid in a self-service situation, but there are a number of tools in the product that help the user create and share content.
As a consequence, Qlik Sense is a better tool for self-service. In QlikView, some self-service is still possible, but it demands a much higher level of technical proficiency of the user.
In QlikView, you need to have the desktop version to be able to develop an app. Development is done locally, without a connection to a QlikView server. QlikView Desktop only runs on
In Qlik Sense, you can develop an app using a web client that is connected to a Qlik Sense server. This means that users can have different operating systems on their computer. Hence, the Qlik Sense solution gives access to more users than the QlikView solution.
Moving data from source to analysis
In both QlikView and Qlik Sense, data is loaded at a specific point in time and then analyzed in memory.
The analysis is made on a data set that is a snapshot of the real data. The snapshot is from the point in time when the load script for the app was run. The analysis is never in real time, although you can make it near-real-time by running the load script more frequently, for example every 15 seconds.
From an administrative perspective, this means that you first create the app, and then set up a scheduler to refresh the data (run the script) according to your business requirements.
QlikView does not have a library of data connections.
Qlik Sense has a library of data connections that must be used for all
In QlikView, you do not have a graphical interface to load data. The app developer has to create the load script in the script editor.
In Qlik Sense, you can also create the load script in the script editor. However, you can also use the data manager graphical interface to load data. The data manager creates the load script, so you can load data without ever seeing the script. But there is still a script, and that script defines that data model.
The script syntax in QlikView and Qlik Sense are mostly identical. There are, however, some notable differences in how the scripts are made.
In a QlikView script, you can have file paths pointing at files used as sources. This can be, for example, a
You cannot do this in Qlik Sense because file paths must be defined in the data connection. This is more secure as users cannot access parts of the hard disk that they should not access. But it also restricts your ability to re-use parts of the script that use include statements. The script file that the include statement references must be placed in a library, and the file references inside the script file must also use the library reference.
In QlikView, the app developer must manually create the calendar.
In Qlik Sense, a calendar is created automatically by the data manager. The calendar uses a feature called derived fields, which does not exist in QlikView.
Load from web files
In QlikView, you can have a
In Qlik Sense, you load the data from a web file data connection.
Section access can be used in both QlikView and Qlik Sense to define authorization. The basic functionality is identical. Section access compares the externally supplied
However, the content of this table differs slightly between the two products.
In QlikView, the name of the authenticated user should be stored in a field called
In QlikView, security groups can be stored in
In QlikView, there are additional fields
In QlikView, the legacy fields
In both products, a proper security level is achieved if the app is published on a server. However, if a file with section access is opened with the desktop version, the two products behave differently. In QlikView Desktop,
Document and content management
In both products, there are a number of properties at the app or document level. These include app name, theme, and styling. In QlikView, all relevant properties are gathered in the document properties window. In Qlik Sense, properties can be accessed from the app overview.
In QlikView, there is an expression overview dialog that lists all expressions in the app. You can search and replace strings among all expressions in the app.
In Qlik Sense, you can use master items to define dimensions and measures that you can use in many places in the app.