Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Search our knowledge base, curated by global Support, for answers ranging from account questions to troubleshooting error messages.
Please, let us know if anyone has questions or concerns about enabling the email notifications.
Qlik Sense Mobile Client Managed & SaaS
Qlik offers a wide range of channels to assist you in troubleshooting, answering frequently asked questions, and getting in touch with our technical experts. In this article, we guide you through all available avenues to secure your best possible experience.
For details on our terms and conditions, review the Qlik Support Policy.
Index:
We're happy to help! Here's a breakdown of resources for each type of need.
Support | Professional Services (*) | |
Reactively fixes technical issues as well as answers narrowly defined specific questions. Handles administrative issues to keep the product up-to-date and functioning. | Proactively accelerates projects, reduces risk, and achieves optimal configurations. Delivers expert help for training, planning, implementation, and performance improvement. | |
|
|
(*) reach out to your Account Manager or Customer Success Manager
Your first line of support: https://community.qlik.com/
Looking for content? Type your question into our global search bar:
Leverage the enhanced and continuously updated Knowledge Base to find solutions to your questions and best practice guides. Bookmark this page for quick access!
Subscribe to maximize your Qlik experience!
The Support Updates Blog
The Support Updates blog delivers important and useful Qlik Support information about end-of-product support, new service releases, and general support topics. (click)
The Qlik Design Blog
The Design blog is all about product and Qlik solutions, such as scripting, data modelling, visual design, extensions, best practices, and more! (click)
The Product Innovation Blog
By reading the Product Innovation blog, you will learn about what's new across all of the products in our growing Qlik product portfolio. (click)
Q&A with Qlik
Live sessions with Qlik Experts in which we focus on your questions.
Techspert Talks
Techspert Talks is a free webinar to facilitate knowledge sharing held on a monthly basis.
Technical Adoption Workshops
Our in depth, hands-on workshops allow new Qlik Cloud Admins to build alongside Qlik Experts.
Qlik Fix
Qlik Fix is a series of short video with helpful solutions for Qlik customers and partners.
Suggest an idea, and influence the next generation of Qlik features!
Search & Submit Ideas
Ideation Guidelines
Get the full value of the community.
Register a Qlik ID:
Incidents are supported through our Chat, by clicking Chat Now on any Support Page across Qlik Community.
To raise a new issue, all you need to do is chat with us. With this, we can:
Log in to manage and track your active cases in the Case Portal. (click)
Please note: to create a new case, it is easiest to do so via our chat (see above). Our chat will log your case through a series of guided intake questions.
When creating a case, you will be prompted to enter problem type and issue level. Definitions shared below:
Select Account Related for issues with your account, licenses, downloads, or payment.
Select Product Related for technical issues with Qlik products and platforms.
If your issue is account related, you will be asked to select a Priority level:
Select Medium/Low if the system is accessible, but there are some functional limitations that are not critical in the daily operation.
Select High if there are significant impacts on normal work or performance.
Select Urgent if there are major impacts on business-critical work or performance.
If your issue is product related, you will be asked to select a Severity level:
Severity 1: Qlik production software is down or not available, but not because of scheduled maintenance and/or upgrades.
Severity 2: Major functionality is not working in accordance with the technical specifications in documentation or significant performance degradation is experienced so that critical business operations cannot be performed.
Severity 3: Any error that is not Severity 1 Error or Severity 2 Issue. For more information, visit our Qlik Support Policy.
If you require a support case escalation, you have two options:
When other Support Channels are down for maintenance, please contact us via phone for high severity production-down concerns.
A collection of useful links.
Qlik Cloud Status Page
Keep up to date with Qlik Cloud's status.
Support Policy
Review our Service Level Agreements and License Agreements.
Live Chat and Case Portal
Your one stop to contact us.
The following messages will appear in the engine trace system logs:
QVGeneral: when AAALR(63.312046) is greater than 1.000000, we suggest using new row applicator to improve time and mem effeciency.
QVGeneral: - aggregating on 'RecruiterStats'(%DepartmentID) with Cardinal(87), for Object: in Doc: ffe8a825-b52e-4ceb-aea2-30de0f2c3306
There has also been reports of end users seeing the message "Internal Engine error" when opening apps when the error above is present.
Also for QlikView see article SE_LOG: when AAALR(1072.471418) is greater than 1.000000, we suggest using new row applicator to improve time and mem efficiency.
"AAALR" is a very low level concept deep in the engine. Generally speaking it means the average length of aggregation array. The longer this array is, the more memory and CPU power are to be used by the Engine to get aggregation results for every hypercube node.
When AAALR is greater than 1.0, normally the customer has a large data set and suffers slow responses and high memory usage in their app. In this case, Qlik Sense has a setting called DisableNewRowApplicator (default value is 1).
By setting this parameter to “0”, Qlik Sense will use a new algorithm which is optimized for large data set to do the aggregation, and will use much less memory and CPU power.
Changing this setting when they have AAALR warnings, making this change has resulted in drastic performance increases.
Possible setting values for DisableNewRowApplicator:
[Settings 7]
DisableNewRowApplicator=0
<---- the cursor should be here when saving the file
The AS/400 supports a file concept known as multiple-member files, in which one file (or table) can possess several different members. Each member is a part of the same file or table and shares the same schema, but the members are uniquely named and have unique data. Just like a partition tables in other regular RDBMS eg in Oracle, MySQL etc.
ODBC and OLE DB have no built-in mechanism for accessing multiple members. By default, ODBC always accesses the first member in a multimember file. This is the known limitation in Replicate User Guide: • Multi-member (Partitioned) tables are not supported.
To enable ODBC-based applications such as Data Transformation Services (DTS) to access multiple-member files, we need to use the AS/400's SQL ALIAS statement. The ALIAS statement lets you create an alias for each member we need to access. We use ALIAS to access all members in Qlik Replicate full load stage. More samples Creating and using ALIAS names.
However, all member data changes will be recorded into DB400 Journal file, Qlik Replicate can capture all members changes. No special settings needed in Qlik Replicate CDC stage.
This article describe how to overcome the limitation and setup Replicate task to replicate Multi-Member Tables.
Support Case: 00049024
In this article, we walk you through the requirements and process of how to upgrade and unbundle an existing Qlik Sense Repository Database (see supported scenarios) as well as how to install a brand new Repository based on PostgreSQL. We will use the Qlik PostgreSQL Installer (QPI).
For a manual method, see How to manually upgrade the bundled Qlik Sense PostgreSQL version to 12.5 version.
Using the Qlik Postgres Installer not only upgrades PostgreSQL; it also unbundles PostgreSQL from your Qlik Sense Enterprise on Windows install. This allows for direct control of your PostgreSQL instance and facilitates maintenance without a dependency on Qlik Sense. Further Database upgrades can then be performed independently and in accordance with your corporate security policy when needed, as long as you remain within the supported PostgreSQL versions. See How To Upgrade Standalone PostgreSQL.
Index
Video Walkthrough
Video chapters:
The following versions have been tested and verified to work with QPI (1.4.0):
Qlik Sense February 2022 to Qlik Sense November 2023.
If you are on a Qlik Sense version prior to these, upgrade to at least February 2022 before you begin.
Qlik Sense November 2022 and later do not support 9.6, and a warning will be displayed during the upgrade. From Qlik Sense August 2023 a upgrade with a 9.6 database is blocked.
The Qlik PostgreSQL Installer supports installing a new standalone PostgreSQL database with the configurations required for connecting to a Qlik Sense server. This allows setting up a new environment or migrating an existing database to a separate host.
Using the Qlik PostgreSQL Installer on a patched Qlik Sense version can lead to unexpected results. If you have a patch installed, either:
Do not use the standard Qlik Sense folders, such as C:\Program Files\Qlik\Sense\Repository\PostgreSQL\ and C:\Programdata\Qlik\Sense\Repository\PostgreSQL\.
Do not use the standard Qlik Sense folders, such as C:\Program Files\Qlik\Sense\Repository\PostgreSQL\ and C:\Programdata\Qlik\Sense\Repository\PostgreSQL\.
Download the installer here.
Qlik PostgreSQL installer Release Notes
The following versions have been tested and verified to work with QPI (1.4.0):
February 2022 to November 2023.
If you are on any version prior to these, upgrade to at least February 2022 before you begin.
Qlik Sense November 2022 and later do not support 9.6, and a warning will be displayed during the upgrade. From Qlik Sense August 2023 a 9.6 update is blocked.
Uninstall the old Qlik Sense Repository Database service.
This step is required. Failing to remove the old service will lead the upgrade or patching issues.
Failing to reinstall the binaries will lead to errors when executing any number of service configuration scripts.If you do not immediately upgrade:
If the upgrade was unsuccessful and you are missing data in the Qlik Management Console or elsewhere, contact Qlik Support.
Now that your PostgreSQL instance is no longer connected to the Qlik Sense Enterprise on Windows services, all future updates of PostgreSQL are performed independently of Qlik Sense. This allows you to act in accordance with your corporate security policy when needed, as long as you remain within the supported PostgreSQL versions.
Your PostgreSQL database is fully compatible with the official PostgreSQL installers from https://www.enterprisedb.com/downloads/postgres-postgresql-downloads.
See How To Upgrade Standalone PostgreSQL, which documents the upgrade procedure for either a minor version upgrade (example: 14.5 to 14.8) or a major version upgrade (example: 12 to 14). Further information on PostgreSQL upgrades or updates can be obtained from Postgre directly.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support. The video in this article was recorded in a earlier version of QPI, some screens might differ a little bit.
Qlik PostgreSQL installer version 1.3.0 Release Notes
Techspert Talks - Upgrading PostgreSQL Repository Troubleshooting
Backup and Restore Qlik Sense Enterprise documentation
Migrating Like a Boss
Optimizing Performance for Qlik Sense Enterprise
Qlik Sense Enterprise on Windows: How To Upgrade Standalone PostgreSQL
How-to reset forgotten PostgreSQL password in Qlik Sense
How to configure Qlik Sense to use a dedicated PostgreSQL database
Troubleshooting Qlik Sense Upgrades
The execution of TMC task fails to collect Metrics data from Remote Engine and causes a DNS error
Log
RestServletCollector | 299 - org.apache.karaf.decanter.collector.rest.servlet - 2.10.0 | Error processing event from servlet
java.net.UnknownHostException: ip-10-216-119-xxx: Name or service not known
ERROR | pool-27-thread-1 | ContainerStatusUpdater | 289 - org.talend.ipaas.engine.deployment-agent - 2.13.4 | Unable to retrieve host address
java.net.UnknownHostException: ip-10-216-119-xxx: Name or service not known
at org.talend.ipaas.rt.deployment.agent.impl.ContainerStatusUpdater.getContainerStatisticsInfo(ContainerStatusUpdater.java:257)
at org.talend.ipaas.rt.deployment.agent.impl.ContainerStatusUpdater.run(ContainerStatusUpdater.java:229)
Caused by: java.net.UnknownHostException: ip-10-216-119-201: Name or service not known
Add the host (ip-10-216-119-xxx) to `/etc/hosts`
$ vi /etc/hosts
127.0.0.1 localhost ip-10-216-119-xxx
Analysis
omc.jobs.enabled # This Enable/disable metrics from the jobs (both business and jvm)
Based on configuration file checking, the default property is set as "true"
omc.enabled is a main/global property to enable metrics, without it the others will not work
For more information about Remote Engine metrics type, please look at this documentation:
Available metrics for monitoring - Cloud
Question
Where can I find information related to Talend Remote Engine?
Regarding basic information on Talend Remote Engine, please check here: Working with Talend Remote Engines.
Regarding the lifecycle of Talend Remote Engine, please check here: Talend Remote Engine lifecycle.
Regarding monthly releases (including bug fixes and other updates) on Talend Remote Engine, please check here: Talend Release Notes.
This article describes how an Excel file can be sent as an attachment by using the Send Mail block in Qlik Application Automation.
Automation Structure
The creation of an Excel report from a Qlik Sense straight table is explained in the first part of this article.
Let's walk through the blocks used in the automation workflow to send the Excel file as an attachment using the "Send Mail" block.
A JSON file containing the above automation is attached to this article.
Please follow the steps provided in the How to import automation from a JSON file article to import the automation.
This article describes an example on how to disable custom connector for particular user group for Qlik Sense
Disclaimer: This is just an example to show the availability what users can do in Qlik Sense. It may not fulfil all user scenarios.
Please engage with Qlik Consultant for further advice if you want to develop/implement custom security rules into your environment.
Name: DisableCustomConnectors Description: This custom rule disables Custom Connectors for user group “Sydney” Resource filter: DataConnection_* Action: Create Condition: ((resource.type!="folder" and resource.type!="Custom") and (user.group="Sydney")) Context: Only in hub
Name: DataConnectionForNormalUsers Description: This custom rule is for Data Connections except User Group “Sydney”. Custom Connection creation enabled. Resource filter: DataConnection_* Action: Create Condition: ((resource.type!="folder" and user.group!="Sydney")) Context: Only in hub
Domain\Alex: Custom connectors is disabled.
Domain\bob: Custom connectors is disabled.
Domain\craig: Custom connectors is enabled.
To help Qlik customers manage costs more effectively, Qlik has developed the Qlik Snowflake Monitoring application, designed to provide invaluable insights about your Snowflake costs, usage, inventory, security, performance and contract utilization. This app utilizes Qlik's Associative Engine to connect directly to your Snowflake instance and reveal insights from Snowflake's detailed metadata, offering valuable information that traditional query-based tools and Snowflake's own reports are unable to provide.
Leveraging Qlik Application Automation, and Data Alerts, you can:
*Minor configuration is required on first run to create the required data connections.
Content:
This automation template is a fully guided installer/updater for the Qlik Snowflake Monitor. Leverage this automation template to easily install and update this application. The application itself is community-supported; and it is provided through Qlik’s Open-Source Software GitHub and thus is subject to Qlik’s open-source guidelines & policies.
For more information, refer to the GitHub Repository.
If the monitoring app was installed manually (i.e. not through the application automation installer), then the app will not be detected as existing. The automation will install new copies side-by-side. Any subsequent executions of the automation will detect the newly installed monitoring application and check their versions. This is because the application is tagged with ‘QCS - QSM - {App Name}’ and ‘QCS – QSM - {Version}’ during the installation process through the automation. Manually installed applications will not have these tags and therefore will not be detected.
The Qlik Snowflake Monitor requires two connections, one to your Snowflake instance to feed the data for your analytics, and one REST connection to the qlik-oss repository to run a version check on the monitor.
You will need to create a custom User, Role and Warehouse on your snowflake tenant. This is to ensure this user and role can see the monitoring details and can be monitored.
For Authentication, this setup is defaulted to username & password.
Finally, you need to name the connection as follows:
If you wish to use an alternative authentication method, please follow the documentation accordingly on both Snowflake & Qlik.
The REST connection is used to fetch version details from the GitHub repository. On reload it will look for the the latest released version in github and check this against the version you have installed. You can later use this in ‘Part Three’ to create an alert when updates to the application are available. To create a REST connection the following information is required:
Once these two connections have been set up, you can reload the application. The application has been created to accommodate Snowflake tenants of all sizes. If you have a small tenant, you will find the initial run of the load script can take around 30 minutes, and for larger tenants this can be over an hour or two. Subsequent runs will utilize cached QVDs that update daily to reduce reload times each subsequent day.
If a new release of the application is made, occasionally a full reload of data is required, but generally, if the data schema is unchanged the existing QVDs will be maintained. This is through the use of versions in the names of the QVDs used to store the data.
The application has the following two variables:
To create a new Data Alert for updates to the monitoring app, follow these steps:
The Qlik Snowflake Monitor can be easily installed by following these steps above. If you wish to find out more, check out this Ometis blog post and this Ometis Webinar to get a run through of the analytics this application can offer.
If you face any issues, please use the GitHub and raise an issue through the repository.
Adding a Qlik Replicate Server to the Qlik Enterprise Manager while having Verify server certificate enabled fails with the following message:
Could not establish trust relationship for the SSL/TLS secure channel
Disabling the Verify server certificate option allows for the server to be added.
From the File menu, select Add/Remove Snap-in. The Add or Remove Snap-ins dialog box opens.
In the left pane, double-click Certificates. The Certificates snap-in wizard opens.
Qlik Enterprise Manager 6.6 and above
Qlik Replicate
As Talend Runtime's services page can be viewed from the following URL in public:
http://RUNTIME_HOST:8040/services
How can this page be hidden so that it doesn't list the services deployed in Talend Runtime?
This article briefly explains how to protect Talend Runtime Service List from exposure.
org.apache.cxf.servlet.hide-service-list-page=true
When you change it from false (default value) to true, then your services will be hidden and a page stating " No service was found" will display.
The configuration only supports for hiding Service List, and it is not possible to obtain authorization option by current design
Scripts need to be exported using the Qlik Sense Engine APIs.
The Engine API and the Capability API both have a method/function called GetScript() that will allow the app script to be exported. Once the script is accessed, it can be saved to disc, for example, a folder that is perhaps monitored by a change control system. The Engine API can be found here and the Capability API can be found here. The following are examples of both APIs:
Engine API:
IAppIdentifier foundAppIdentifier = _location.AppWithId("....appId....");
IApp app = _location.App(foundAppIdentifier);
string script = app.GetScript();
Console.WriteLine(script);
Capability API:
var app = qlik.openApp("....appId....");
app.getScript().then( function(script){
console.log(script);
});
Get started with APIs on Windows
GetScript Method (Engine)
getScript method (Capability API)
Qlik Sense: call Qlik Sense Engine API with Python
Qlik Sense Repository API/Engine API(Enigma.js) example with JWT authentication: duplicate/scramble/export
Qlik Sense: Getting started with the .NET SDK
It is important to understand the options which PostgreSQL uses to allow connectivity. These principles are valid no matter whether you are using the Qlik Sense Repository Database service to host the database or using a standalone PostgreSQL instance. The two key files which PostgreSQL uses to define who can connect, how they connect, where they can connect from, and how many connections are allowed are:
For bundled PostgreSQL instances, the files are located in:
C:\ProgramData\Qlik\Sense\Repository\PostgreSQL\x.x
If you have unbundled PostgreSQL using the Qlik PostgreSQL installer (QPI), the default location is:
C:\Program Files\PostgreSQL\xx\data
For any other standalone PostgreSQL instances, consulting with your database admin to locate the data directory.
Note: Any changes to these files will require a restart of the Qlik Sense Repository Database or PostgreSQL.
Note: Any lines prefixed with a # are commented out and not active.
In the postgresql.conf, in a basic Qlik Sense configuration, there are two key configuration options which are important:
Where these lines are can vary but an expected single node Qlik Sense site would look like this:
listen_addresses = '*' max_connections = 100
The pg_hba.conf file defines a variety of aspects:
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::/0 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #host replication postgres 127.0.0.1/32 md5 #host replication postgres ::1/128 md5 host all all 0.0.0.0/0 md5
In this example pg_hba.conf file there two active lines. The first line specifies that all users can connect to all databases from the local loopback IP using MD5 authentication (host all all 127.0.0.1/32 md5). The second line specifies that all users can connect to all databases from any valid IPv4 address using MD5 authenication (host all all 0.0.0.0/0 md5)
Please review our help for references to more sophisticated configurations where specific IP addresses or IP address ranges are covered.
To recap, when ensuring connectivity in a Qlik Sense Shared Persistence environment, especially a multi-node site, the core configurations which are needed are:
How to enable "Integrated Windows Authentication" (IWA authentication) in Qlik Sense and QlikView. Windows Integrated Authentication allows a user’s Active Directory credentials to pass through their browser to a web server.
If you would like to do the reverse and always prompt for username and password, then the opposite settings will need to be taken.
QlikView
Qlik Sense Enterprise on Windows
Qlik NPrinting
Step 1, enable IWA:
If you are looking to configure your Trusted sites and add your Qlik server:
Google Chrome in Windows will use Internet Explorer settings
Save task failed randomly from TAC Job Conductor when importing a zip file (jobdesign.zip)
Log
2024-05-16 11:02:27 INFO GeneratedProcessHelper - Check the job's signature faild : /talend/tac/apache-tomcat/temp/jobdesign.zip
2024-05-16 11:02:27 ERROR TalendRemoteServiceServlet - This job was created by an unsupported version of Talend Studio. Talend cannot guarantee the origin of such artifacts which may pose a security risk to your system. Please contact Talend Support for further details about supported versions and our support policies.
org.talend.exception.BusinessException: This job was created by an unsupported version of Talend Studio. Talend cannot guarantee the origin of such artifacts which may pose a security risk to your system. Please contact Talend Support for further details about supported versions and our support policies.
at org.talend.gwtadministrator.server.scheduler.view.ExecutionTaskViewAdapter.checkProjectEE(ExecutionTaskViewAdapter.java:814)
Use a more recent version of the studio and make sure Job META-INFO folder and content are integrity.
Get/download the zip that are trying to upload and further check jobInfo.properties/cmdLineVersion and job items file, talend.project/productVersion
If you are look for How to avoid missing Item file in Talend Administration Center's Job Conductor, please refer to this Qlik Official article about:
Qlik-Talend-Data-Integration-Save-failed
When using Qlik REST connector to load data from API sources that return JSON or XML response, sometimes a huge data model with many tables is returned although the response contains only a single table.
For example, the following JSON message is parsed into 5 single-row tables instead of one table with 5 rows:
Environment:
The JSON response has a "nested" structure, i.e each data record is stored as a separated JSON object, which is not member of an array.
Qlik REST connector applies a standard strategy for parsing JSON response:
As a result, nested JSON response is parsed as multiple tables instead of a single flat table. You can find the same strategy in other JSON parsing tool, such as http://json2table.com/.
The same logic applies to nested XML responses.
Qlik REST connector does not yet support loading JSON/ XML responses with nested structure. There is an ongoing improvement request to support this structure in future releases of the connector.
Meanwhile, please consider the following work-around solution:
When using Talend Cloud Engine to run your jobs, if the following messages are list in your execution logs, it means there are memory issues occurring.
Execution {Execution number here} failed with code 137 and error Job stopped with errors or unable to run. (check the task execution logs for the error details)
It is a known issue for memory limitations in Talend Cloud Engine and error code 137 happens when system kills the process(out of memory issue)
The following system resource limitations are valid for Jobs running on Cloud Engines
Please find more details regarding Talend Cloud Engine here: Execution engines in Talend Cloud.
When using the tRedshiftOutputBulk or tRedshiftOutputBulkExec component in Talend Studio and setting the "Credential provider" to "Inherit credentials from AWS role", the following error is found in the karaf.log.
java.lang.IllegalArgumentException: Not supported S3 connection credential type: INHERIT_CREDENTIALS. Please use "Static Credentials."
Redshift does not support “Inherit credentials from AWS role” for "Credential provider".
Redshift never supported "Inherit credentials from AWS role". In the UI, it appears that "Inherit credentials from AWS role" can be used, but in reality, it was "Static Credentials" running in the background.
If you were able to run the Job using "Inherit credentials from AWS role" in the past, you may have already set the necessary parameters for "Static Credentials" (Access key and Secret key), which allowed it to run without errors.
A Talend EMR spark batch hive task is facing below error message when creating Hive client using classpath
java.lang.ClassNotFoundException: java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning
Based on EMR hive-site.xml setting, the Hive engine is configured with tez, but the EMR cluster can not distribute the tez-related jar from the Main node to the Edge nodes.
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>