Skip to main content

Moving QlikView content to Qlik Sense: concepts and best practices

ON THIS PAGE

RELATED LEARNING

Moving QlikView content to Qlik Sense: concepts and best practices

This topic provides concepts and best practices to consider before you migrate your QlikView documents to Qlik Sense.

For conversion examples, see:

Note: Qlik Professional Services has several offerings targeted to meet your specific migration needs, including migration strategy development, evaluating and implementing Qlik Sense architecture, educating your users and developers, and converting or re-engineering your apps to use in Qlik Sense. For more information see Qlik Consulting.

QlikView migration assessment

Document assessment

Your migration strategy should include an assessment of your QlikView documents. This can help you to decide whether to:

  • Retire the document.
  • Maintain and distribute the document in QlikView.
  • Migrate the document to a Qlik Sense app.

Consider the following:

  • Is a document providing business value? Consider how often the document is used, how many people are using it, and who is using it. A document that is used by only one person may still be critical if it is being used to make important business decisions.
  • Is a document nearing the end of its life cycle? Are the insights it provides still valuable? If so, development effort could be used instead to build a Qlik Sense app.

Document assessment tools

  • The QlikView Governance Dashboard provides visibility into QlikView deployments. The dashboard displays information including recurring labels and expressions, complexity analysis, file size, usage frequency, and data lineage. The Sense Profile Score scores QlikView apps for compatibility with Qlik Sense.

    QlikView Governance Dashboard

QlikView and Qlik Sense functional assessment

Consider the following:

  • What functional improvements in Qlik Sense support your organization goals? For example, Qlik Sense makes it easier for all members of your organization to develop and share insights.
  • What functionality in QlikView is not or not yet supported in Qlik Sense? Is there a reasonable workaround when the functionality is not supported?

QlikView and Qlik Sense developer and consumer assessment

Consider the following:

  • Are the document consumers ready to start using Qlik Sense? If not, training will be required before using Qlik Sense to ensure business continuity.
  • Are document developers ready to start developing apps in Qlik Sense? While a working group in your organization may develop and implement a migration plan which includes new app development, your other developers would also need to be trained.

Converting QlikView documents

Consider the following information when planning your conversion.

QlikView converter

The QlikView converter is a tool to support converting QlikView documents to Qlik Sense apps. You can use the tool to move some of the value developed in QlikView documents to a Qlik Sense app.

The converter tool can be used in the Dev Hub in Qlik Sense Enterprise. You cannot use the QlikView converter to convert documents that are larger than 500 MB on disk. You can reduce the amount of data in a document, or save the document without data, to reduce the size of a document without losing assets.

The QlikView converter will move most objects into Qlik Sense, including:

The converter cannot convert certain objects. Objects that cannot be converted include the following:

  • Containers
  • Triggers
  • Macros
  • Conditional statements
  • Text boxes
  • Object layers
  • Custom chart colors
  • Expression in list boxes

Many of the above objects can be recreated manually in Qlik Sense. For example, while triggers are not converted, the behavior of triggers on open can be recreated using default bookmarks in Qlik Sense.

The converter displays some, but not all, objects that are not converted. We recommend creating a sheet-by-sheet inventory of all your objects in QlikView and comparing that inventory against those objects that are listed in the converter.

QlikView converter

Data load script

QlikView and data load scripts are compatible in general, but there are some differences that you may need to take account for and adapt the script in the data load editor before you can reload data.

QlikView uses absolute or relative file paths which are not supported in Qlik Sense standard mode, so you need to use folder data connections to point to file locations instead.

LOAD * FROM [<filepath>\SalesRep.csv];

Store MyTable into ‘<filepath>\MyQVD.qvd’ (qvd);

Load * From ‘<filepath>\MyQVD.qvd’ (qvd);

LOAD * FROM [lib://<FolderConnection>/SalesRep.csv];

Store MyTable into ‘lib://<FolderConnection>\MyQVD.qvd (qvd);

Load * From ‘lib://<FolderConnection/MyQVD.qvd’;

Hidden script tabs

When a QlikView document with hidden script is converted, the hidden script part will be disregarded and not included in the Qlik Sense script. Before converting the document, open it in the QlikView script editor, and then copy the code from the hidden script tabs and paste it into regular script tabs. Note that you cannot hide script code in Qlik Sense.

Standard mode

Several statements and functions cannot be used or have limitations in standard mode. For more information see File system access restriction.

Section access

A QlikView document with section access cannot be imported into Qlik Sense, as there are differences in format and supported functionality.

When converting document with section access, the following steps are required:

  1. Before converting the document, remove the section access code in QlikView script editor.
  2. Convert the document.
  3. Reapply section access in the Qlik Sense app.

There are some differences in Qlik Sense you should take into account:

  • User authentication is changed. The USERID field is used to authenticate all users, and the NTNAME and PASSWORD fields are not supported.
  • Section access is applied using strict exclusion in Qlik Sense. This means that you can only see data that you have been specifically granted access to.

If you have access to the script, but not to the data, you can open the app without data and edit the script, including the section access.

For more information, see Managing data security with Section Access.

Quotation notation in set analysis

Quotation notation in set analysis in older QlikView documents, or in documents created with older versions of QlikView, is different than that in Qlik Sense. You may need to modify certain set analysis expressions in Qlik Sense.

Single quotes and double quotes behave the same in the old notation. Both single quotes and double quotes are interpreted as a search. Wild cards (*, ?) can be used.

Single quotes and double quotes behave differently in the new notation.

Single quotes are interpreted as a literal string comparison. Only one field value is found, and wild cards are not allowed in the search string. An asterisk, for example, is interpreted as an asterisk.

Double quotes are interpreted as a search. Wild cards and relational operators are allowed, and several field values can be found.

For example, Sum({$<Country={'Austr*'}>}Sales) may need to be changed to Sum({$<Country={"Austr*"}>}Sales)

Similarly, numeric or variable comparisons may need to be changed. For example, Duration={'>3'} may need to be changed to Duration={">3"}

QlikView variables excluded from export

A number of variables are not exported from a QlikView document as they are only relevant for QlikView or are handled differently in Qlik Sense.

The following variables are not exported:

  • All variables starting with CD
  • All variables starting with FLOPPY
  • QvPath, QvRoot, QvWorkPath, QvWorkRoot
  • WinPath, WinRoot
  • ErrorMode
  • StripComments
  • ScriptErrorCount, ScriptError
  • ThousandSep, DecimalSep, MoneyThousandSep, MoneyDecimalSep, MoneyFormat
  • TimeFormat, DateFormat, TimestampFormat
  • MonthNames, DayNames
  • ScriptErrorDetails, ScriptErrorList
  • OpenUrlTimeout
  • HidePrefix
  • FirstWeekDay
  • BrokenWeeks
  • ReferenceDay
  • FirstMonthOfYear
  • CollationLocale
  • LongMonthNames, LongDayNames