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 Microsoft Windows.
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 Load and Select statements. The library allows data sources to be re-used between apps. It is also easier to impose administrative governance if all connections are defined in a library.
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 Microsoft Excel or Microsoft Access database.
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 Load statement that loads directly from a web table.
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 user ID with the content of the authorization table.
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 NTNAME. In Qlik Sense the corresponding field is called USERID. In both cases, this field is used for any authenticated user, including when Windows integrated security is not used.
In QlikView, security groups can be stored in NTNAME. In Qlik Sense, security groups should be stored in a separate field called GROUPS.
In QlikView, there are additional fields NTSID and NTDOMAINSID that can be used for authorization. They both refer to the internal security IDs of Windows. These fields do not exist in Qlik Sense.
In QlikView, the legacy fields SERIAL, USERID and PASSWORD should not be used in order to ensure a secure environment. These fields do not exist in Qlik Sense.
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, NTNAME is matched against the Windows user name supplied by the operating system, and if it is correct, the user can open the file. In Qlik Sense Desktop, the program will refuse to open the file.
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.