Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.

Qlik.com | Qlik Help | Resources

Qlik

  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • 日本語
  • 한국어
  • Nederlands
  • Polski
  • Português (Brasil)
  • Русский
  • Svenska
  • Türkçe
  • 中文 (简体)
  • 中文 (繁体)
Ask a Question
Enter a search word
    Turn off suggestions
    Enter a search word
      Turn off suggestions
      Enter a user name or rank
        Turn off suggestions
        Enter a search word
          Turn off suggestions
          Enter a search word
            Turn off suggestions
            cancel
            Turn on suggestions
            Showing results for 
            Search instead for 
            Did you mean: 
            Help Sign In / Register
            Enter a search word
              Turn off suggestions
              Enter a search word
                Turn off suggestions
                Enter a user name or rank
                  Turn off suggestions
                  Enter a search word
                    Turn off suggestions
                    Enter a search word
                      Turn off suggestions
                      cancel
                      Turn on suggestions
                      Showing results for 
                      Search instead for 
                      Did you mean: 
                      • Greenway Opens new window
                      • Qlik.com
                      • Qlik Help
                      • Resources

                      Discover

                      • Qlik Community
                      • :
                      • Discover
                      • :
                      • Popular Resources

                      popularResources

                      Qlik Sense - If a story/sheet/image/pdf export does not work and custom themes are used

                      by Support Benoit_C in Official Support Articles
                      2021-01-29
                      0 Likes

                      Environment

                      • Qlik Sense All versions

                       

                      Description

                      In Qlik Sense, when if you export some stories to PDF/PPTX you might sometime have some issue like image no appearing. 

                      If the Printing logs doesn't help to figure out the issue it might be needed t

                      ...

                      Environment

                      • Qlik Sense All versions

                       

                      Description

                      In Qlik Sense, when if you export some stories to PDF/PPTX you might sometime have some issue like image no appearing. 

                      If the Printing logs doesn't help to figure out the issue it might be needed to add a feature in the Printing config file.

                       

                      Resolution

                      Modify the printing config file to get more details in the System_Printing_rwr.txt log. 

                      1. Edit C:\Program Files\Qlik\Sense\Printing\printing.exe.config
                      2. Add below setting in file 
                      3. <!-- 
                        =====================================
                            Sense rendering configuration
                        =====================================
                        -->​
                        <add key="webrenderer-args" value="-l=trace" />
                      4. Save and close the file. 
                      5. Restart Qlik Sense services.
                      6. Repeat on each node that has a running Qlik Sense Printing service. 

                       

                      Troubleshooting

                      You will now have more information in log SERVERNAME_System_Printing_rwr.txt

                      In the below example, we do see there is a custom Theme (XTheme) and the format is invalid, and after that there is a timeout:

                      [2021-01-27 10:26:19.013001] successfully downloaded resource from GRPC, size in bytes: 59396, url: https://qlik.net/extensions/XTheme/Cond_Regular.ttf 
                      [2021-01-27 10:26:19.013966] PaintHandler::OnResourceLoadComplete url=https://qlik.net/extensions/XTheme/Cond_Regular.ttf  bytes=59396 response_status=OK 
                      [2021-01-27 10:26:19.068861] CefOnPaintReceivedTask img=worker_1_3w_imgidx_002_navid__rid_bdcc1e7a49dd43b5b2f0cf37074e3b3c state=WATERMARKED INVALID 
                      [2021-01-27 10:26:19.068868] CefOnPaintReceivedRwrCefTaskPixelWatermark::~CefOnPaintReceivedRwrCefTaskPixelWatermark 
                      [2021-01-27 10:26:19.089326] CefOnPaintReceivedTask img=worker_1_3w_imgidx_002_navid__rid_bdcc1e7a49dd43b5b2f0cf37074e3b3c state=WATERMARKED INVALID 
                      [2021-01-27 10:26:19.089331] CefOnPaintReceivedRwrCefTaskPixelWatermark::~CefOnPaintReceivedRwrCefTaskPixelWatermark 
                      [2021-01-27 10:26:42.461485] it timeout for js_timeout_counter=1 img=worker_1_1w_imgidx_000_navid__rid_3a88eaeb2d1d4b60a2c5d323195d325e 

                       

                      In this example, the problem is coming from some box-shadow and/or margin and/or padding containing in this Theme.

                      Since the theme is the source of the issue, the solution if the you want to keep the dashboard style is to overwrite the problematic style entry with a following entry with increased specificity (more detailed CSS tag matches).

                      For instance, if the box-shadow element is the one causing the issue, you could add to the theme CSS the second section below:

                       

                       

                       

                      .qv-object .qv-inner-object {
                      
                      border: 1px solid lightgray;
                      
                      box-shadow: 1px 1px 5px lightgray;
                      
                      }
                      
                      .printing-snapshot-content-v2 .qv-object .qv-inner-object,
                      
                      .printing-live-content .qv-object .qv-inner-object {
                      
                      -webkit-box-shadow: none;
                      
                      -moz-box-shadow: none;
                      
                      box-shadow: none;
                      
                      }
                      
                      

                       

                       

                       




                      This is an example which may work or may not work, you will need to analyze which styles causes export issues, box-shadow is one candidate.
                      The workaround is always based on this approach though, regardless of the style. The "side-effect" is that the exported PDF/image won't have the box shadow style.

                      Note that Printing is not guaranteed to work with custom themes (Qlik Sense does not provide printing support for custom themes).

                      See more
                      • Tags:
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • How To

                      Qlik Sense Repository API: How to Audit security rule for Hub Only or QMC Only

                      by Support Damien_V in Official Support Articles
                      2021-01-29
                      0 Likes

                      This is a sample on how to audit security rules with the Qlik Sense Repository Service (QRS) API.

                      Environments:

                      • Qlik Sense Enterprise on Windows  June 2017 and later

                       

                      Resolution

                      In order to filter on "Hub Only" or "QMC Only", "environmentAttribut

                      ...

                      This is a sample on how to audit security rules with the Qlik Sense Repository Service (QRS) API.

                      Environments:

                      • Qlik Sense Enterprise on Windows  June 2017 and later

                       

                      Resolution

                      In order to filter on "Hub Only" or "QMC Only", "environmentAttributes" needs to be set.

                      Hub & QMC : 

                      "environmentAttributes":"" (or do not specify it)

                      Hub Only:

                      "environmentAttributes":"context=AppAccess;"

                      QMC Only:

                      "environmentAttributes":"context=ManagementAccess;"

                       

                      Sample:

                      $body = '{"resourceType":"App","subjectRef":{"resourceFilter":""},"actions":46,"environmentAttributes":"context=AppAccess;","subjectProperties":["id","name","userId","userDirectory"],"auditLimit":999999,"outputObjectsPrivileges":0,"resourceProperties":["name"]}'
                      $hdrs = @{}
                      $hdrs.Add("X-Qlik-xrfkey","12345678qwertyui")
                      $hdrs.Add("hdr-usr","DOMAIN\Administrator")
                      $url = "https://qlikserver1.domain.local/hdr/qrs/systemrule/security/audit/matrix?xrfkey=12345678qwertyui"
                      Invoke-RestMethod -Uri $url -Method Post -Headers $hdrs -Body $body -ContentType 'application/json'

                      Note: the above sample is using header authentication for simplicity. 

                       

                      More details can be found on the help site.

                      https://help.qlik.com/en-US/sense-developer/November2020/APIs/RepositoryServiceAPI/index.html?page=1514

                      https://help.qlik.com/en-US/sense-developer/November2020/APIs/RepositoryServiceAPI/index.html?page=1570

                       

                      See more
                      Labels:
                      • Labels:
                      • Integration and Embedding

                      Qlik Sense - Default bookmark - Second open will not keep the sheet location

                      by Support Bastien_Laugiero in Official Support Articles
                      2021-01-29
                      0 Likes

                      If an application using default bookmark (with "Save sheet location") is publish on an engine node set for Production purpose, the first opening attempt will work correctly and take you to the sheet with associated selections saved in the bookmark.

                      H

                      ...

                      If an application using default bookmark (with "Save sheet location") is publish on an engine node set for Production purpose, the first opening attempt will work correctly and take you to the sheet with associated selections saved in the bookmark.

                      However, closing the app and reopening it will only keep the selections and not the sheet location.

                      It will basically open the app on the sheet overview page.

                       

                      Environment

                      • Qlik Sense Enterprise on Windows  April 2020 and up

                       

                      Resolution

                      A fix for this defect has been implemented in 

                      • Qlik Sense June 2020 Patch 15
                      • Qlik Sense November 2020 Patch 9
                      • Qlik Sense February 2021 Patch 3

                      Cause

                      Product Defect ID: QB-3327

                       

                      See more
                      Labels:
                      • Labels:
                      • Visualization

                      Dual の基本と応用知識

                      by Former Employee Yoichi_Hirotake in Japan Support
                      2021-01-29
                      0 Likes

                      2021年1月27日に「Dual の基本と応用知識」について、APAC地域向けにテクニカル・イネーブルメントを開催致しました。動画をYoutubeに公開しています。動画は英語で、所々日本語の補助字幕がついています。


                      DualはQlikViewとQlik Senseにおけるデータの基本的な概念です。是非御覧ください。

                      2021年1月27日に「Dual の基本と応用知識」について、APAC地域向けにテクニカル・イネーブルメントを開催致しました。動画をYoutubeに公開しています。動画は英語で、所々日本語の補助字幕がついています。


                      DualはQlikViewとQlik Senseにおけるデータの基本的な概念です。是非御覧ください。

                      See more

                      Qlik Sense Cloud and multiple IdPs

                      by Support Lisa_Sun in Official Support Articles
                      2021-01-28
                      0 Likes
                      Is it possible to create more than one IdP for Qlik Sense Enterprise SaaS?
                       
                      Multiple IdPs can be configured, but only one can be active simultaneously.
                       
                      All other IdPs need to be deactivated or deleted. When an interactive IdP is disabled, you aut
                      ...
                      Is it possible to create more than one IdP for Qlik Sense Enterprise SaaS?
                       
                      Multiple IdPs can be configured, but only one can be active simultaneously.
                       
                      All other IdPs need to be deactivated or deleted. When an interactive IdP is disabled, you automatically revert back to the Qlik IdP configuration.
                       
                      Please note that your subscription may need to be modified to enable the external IdP feature. Contact Qlik Support to check your subscription details or enable the functionality.
                       
                      For more information, please find from Managing identity providers. 
                       

                      Related Content 

                      Managing identity providers
                      Setting up identity providers 

                      See more
                      • Tags:
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • Administration
                      • Cloud Migration
                      • General Question

                      Qlik Sense June 2020 Patch 13 - Resolved Defects

                      by Community Manager Jamie_Gregory in Official Support Articles
                      2021-01-28
                      0 Likes

                      Below is the list of defects resolved with Qlik Sense June 2020 Patch 13. For more information, please see the Release Notes.

                      Environment: Qlik Sense June 2020 Patch 13

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID: QB-299

                      ...

                      Below is the list of defects resolved with Qlik Sense June 2020 Patch 13. For more information, please see the Release Notes.

                      Environment: Qlik Sense June 2020 Patch 13

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID: QB-2993
                      Description: Having multiple filterpane objects inside a container might cause that some of those objects are
                      not visible or partially visible in the container object.

                      Physical keyboard is forcing bookmark close
                      Jira issue ID: QB-2878
                      Description: With a physical keyboard on an iPad the screen resizes when focus is on an input field. The
                      device will show a small bar on the bottom. This fix makes sure that the popup is not closed when the screen
                      is resized for apple devices

                      Two-dimensional line chart incorrectly showing gaps in lines
                      Jira issue ID: QB-2343
                      Description: Fix for an issue where a two-dimensional line chart with "Missing values" set to either "Show as
                      gaps" or "Show as zeroes" in certain cases incorrectly showed gaps where data points existed.

                      See more
                      Labels:
                      • Labels:
                      • General Question

                      Class() function with floating point value

                      by Former Employee Mukhiddin in Official Support Articles
                      2021-01-28
                      0 Likes

                      When floating point numbers are used in the parameter Class() function expected result cannot be achieved. For example, expected output of class(0.15, 0.05) is "0.15 <= x < 0.2", however output is "0.1 <= x < 0.15" which 0.15 is not included in inter

                      ...

                      When floating point numbers are used in the parameter Class() function expected result cannot be achieved. For example, expected output of class(0.15, 0.05) is "0.15 <= x < 0.2", however output is "0.1 <= x < 0.15" which 0.15 is not included in interval. 

                      Please refer to following to learn about more class function.

                      • class - script and chart function  

                      Environment

                      • QlikView, any version
                      • Qlik Sense, any version

                       

                      Resolution

                      It is expected behavior. 

                      Workaround

                      To get desired result, first convert the floating point number to an integer (by multiplication), leaving no decimal part, and thereafter round the integer accordingly and finally convert the integer back to a float (by division). 

                      Please check following script in the example of class(0.15, 0.05) to get desired "0.15 <= x < 0.2" result:

                       

                       

                       

                      SET DecimalSep='.';T1:
                      Load *, dual(String, First) as DualClass;
                      Load *, First&' <= x < '&Second as String;
                      Load *, subfield(Class100,' ',1)/100 as First, subfield(Class100,' ',5)/100 as Second;
                      Load *, class(Value,'0.05') as Class, class(Value*100,'0.05'*100) as Class100;
                      Load recno() as ID, recno()/100 as Value autogenerate 20;

                       

                       

                       

                       

                      Cause 

                      This is only a problem when you use a single constant floating point value. When you have a base 10 system (like ours), it can only express fractions that use a prime factor of the base. The prime factors of 10 are 2 and 5. So 1/2, 1/4, 1/5, 1/8, and 1/10 can all be expressed cleanly because the denominators all use prime factors of 10. In contrast, 1/3, 1/6, and 1/7 are all repeating decimals because their denominators use a prime factor of 3 or 7. In binary (or base 2), the only prime factor is 2. So you can only express fractions cleanly which only contain 2 as a prime factor. In binary, 1/2, 1/4, 1/8 would all be expressed cleanly as decimals. While, 1/5 or 1/10 would be repeating decimals. So 0.1 and 0.2 (1/10 and 1/5) while clean decimals in a base 10 system, are repeating decimals in the base 2 system the computer is operating in. When you do math on these repeating decimals, you end up with leftovers which carry over when you convert the computer's base 2 (binary) number into a more human readable base 10 number. 

                      These are not errors in QlikView or Qlik Sense. And they are not errors in IEEE 754 either. Rather, they represent errors in the expectation of binary floating point numbers. It's simply that some values cannot be exactly represented as binary numbers, so result gets rounding errors.

                       

                      See more
                      • Tags:
                      • class()
                      • float point number
                      • interval
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • App Development

                      Qlik Sense April 2020 Patch 13 - Resolved Defects

                      by Community Manager Jamie_Gregory in Official Support Articles
                      2021-01-27
                      0 Likes

                      Below is the list of defects resolved with Qlik Sense April 2020 Patch 13. For more information, please see the Release Notes.

                      Environment: Qlik Sense April 2020 Patch 13

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID: QB-2

                      ...

                      Below is the list of defects resolved with Qlik Sense April 2020 Patch 13. For more information, please see the Release Notes.

                      Environment: Qlik Sense April 2020 Patch 13

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID: QB-2993
                      Description: Having multiple filterpane objects inside a container might cause that some of those objects are
                      not visible or partially visible in the container object.

                      Virtual proxy with Underscore in name cause image URL issues
                      Jira issue ID: QB-2660
                      Description: Fix problems with images in text and image object when the virtual proxy path contains
                      underscore

                      Two-dimensional line chart incorrectly showing gaps in lines
                      Jira issue ID: QB-2343
                      Description: Fix for an issue where a two-dimensional line chart with "Missing values" set to either "Show as
                      gaps" or "Show as zeroes" in certain cases incorrectly showed gaps where data points existed

                      Fixes issue with NPrinting export of some specific charts
                      Jira issue ID: QB-1448
                      Description: An issue could occur when using NPrinting to export some specific charts that had been
                      converted from a table.

                      See more
                      Labels:
                      • Labels:
                      • General Question

                      Qlik Sense September 2020 Patch 8 - Resolved Defects

                      by Community Manager Jamie_Gregory in Official Support Articles
                      2021-01-27
                      0 Likes

                      Below is the list of defects resolved with Qlik Sense September 2020 Patch 8. For more information, please see the Release Notes.

                      Environment: Qlik Sense September 2020 Patch 8

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID

                      ...

                      Below is the list of defects resolved with Qlik Sense September 2020 Patch 8. For more information, please see the Release Notes.

                      Environment: Qlik Sense September 2020 Patch 8

                      Filterpane objects inside container not displayed correctly
                      Jira issue ID: QB-2993
                      Description: Having multiple filterpane objects inside a container might cause that some of those objects are
                      not visible or partially visible in the container object.

                      Physical keyboard is forcing bookmark close
                      Jira issue ID: QB-2878
                      Description: With a physical keyboard on an iPad the screen resizes when focus is on an input field. The
                      device will show a small bar on the bottom. This fix makes sure that the popup is not closed when the screen
                      is resized for apple devices

                      Two-dimensional line chart incorrectly showing gaps in lines
                      Jira issue ID: QB-2343
                      Description: Fix for an issue where a two-dimensional line chart with "Missing values" set to either "Show as
                      gaps" or "Show as zeroes" in certain cases incorrectly showed gaps where data points existed

                      See more
                      Labels:
                      • Labels:
                      • General Question

                      Change recipient of notification for reload failures in Qlik Sense SaaS

                      by Support Daniele_Purrone in Official Support Articles
                      2021-01-27
                      0 Likes

                      Email notifications for reload failures go the wrong address. How can this be changed?

                       

                      Environment

                      • SaaS editions of Qlik Sense

                      Resolution

                      • login using the user that is currently receiving the notifications
                      • go to Settings --> Notifications --> and
                      ...

                      Email notifications for reload failures go the wrong address. How can this be changed?

                       

                      Environment

                      • SaaS editions of Qlik Sense

                      Resolution

                      • login using the user that is currently receiving the notifications
                      • go to Settings --> Notifications --> and disable them
                      • the notifications can be enabled for another user by following the same process, and checking the box instead than unchecking it


                      Settings --_ Notifications.png

                      See more
                      • Tags:
                      • Qlik Sense Business
                      • Qlik Sense Enterprise SaaS

                      Using Google Identity with Qlik Cloud

                      by Support Daniele_Purrone in Official Support Articles
                      2021-01-27
                      0 Likes

                      An advanced configuration setting allows you to use Google Identity or OneLogin as the identity provider with Qlik Sense Mobile for SaaS and OAuth 2.0 applications. 

                      See Creating a new identity provider configuration.

                      turn on block passing offline access scope.png

                      An advanced configuration setting allows you to use Google Identity or OneLogin as the identity provider with Qlik Sense Mobile for SaaS and OAuth 2.0 applications. 

                      See Creating a new identity provider configuration.

                      turn on block passing offline access scope.png

                      See more
                      • Tags:
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • Integration and Embedding

                      Qlik Sense services and Windows OS proxy setting

                      by Support Hirokazu_M in Official Support Articles
                      2021-02-03
                      0 Likes

                      Do Windows Operating System Proxy Settings affect Qlik Sense Services Communication?

                       

                      Environment:

                      Qlik Sense Enterprise on Windows 

                       

                      This depends on the service. 

                      The following Qlik Sense Enterprise on Windows services follow the Windows proxy

                      ...

                      Do Windows Operating System Proxy Settings affect Qlik Sense Services Communication?

                       

                      Environment:

                      Qlik Sense Enterprise on Windows 

                       

                      This depends on the service. 

                      The following Qlik Sense Enterprise on Windows services follow the Windows proxy settings:

                      • Qlik Sense Repository Service (QRS)
                      • Qlik Sense Repository Database (QRD)
                      • Qlik Sense Proxy Service (QPS)
                      • Qlik Sense Scheduler Service (QSS)
                      • Qlik Sense Engine Service (QES)
                      • Qlik Logging Service

                       

                      The following are not: 

                      • Qlik License Service (Refer "%Program Files%\Qlik\Sense\ServiceDispatcher\service.conf")
                      • Qlik Printing Service (Refer "%Program Files%\Qlik\Sense\Printing\printing.exe.config" )
                      • Broker Service
                      • Hub Service
                      • Migration Service
                      • Web Extension Service
                      • Capability Service
                      • Converter Service
                      • On-demand App Service
                      • Hybrid Deployment Service (HDS)
                      • Hybrid Setup Console (HSC)
                      • App Distribution Service (ADS)
                      • Precedents Service
                      See more
                      Labels:
                      • Labels:
                      • Configuration
                      • General Question

                      How To Check MD5 CheckSum

                      by Support Lisa_Sun in Official Support Articles
                      2021-01-27
                      0 Likes

                      What is CheckSum?

                      An MD5 checksum is a mathematical algorithm is usually a set of 32-character hexadecimal letters and numbers that are computed on a file with a tool. These numbers are generated using special tools that employ “cryptographic hash fu

                      ...

                      What is CheckSum?

                      An MD5 checksum is a mathematical algorithm is usually a set of 32-character hexadecimal letters and numbers that are computed on a file with a tool. These numbers are generated using special tools that employ “cryptographic hash function producing a 128-bit (16-byte) hash value”. It is used not only to encrypt a ZIP archive or an EXE installer but all kinds of files. You can assign an MD5 sum even to a text or document file. The perfect match of MD5 checksum value ensures that the digital integrity and security of a file has not been broken by someone else and also that it is the accurate copy of the original file.

                      Thus, there are the two main reasons if the MD5 hash value of a file you downloaded does not match against the original sum:

                      The file might be modified by someone else in an unauthorized way.
                      The file was not downloaded properly and some of its elements might have been corrupted.

                      How does CheckSum work?

                      A file is pushed through an algorithm, which outputs a unique alphanumeric string called a checksum, also known as a "hash". Different files, even those with minute differences, produce different checksum values.
                      There are multiple algorithms that can be used to produce a checksum value. The algorithm can be MD5, SHA-1, SHA-256, and SHA-512, etc.

                      How to calculate the CheckSum of a file (Windows)

                      Option1:

                      1. Open Windows Powershell from the Windows menu.
                      2. Get-FileHash <filepath> -Algorithm MD5. Example can be:

                                  Get-FileHash "C:\Users\bww\Downloads\Qlik Alerting Installer (2).exe" -Algorithm MD5

                             3. Press Enter

                      Option2:

                      1. Download the latest version of WinMD5Free.
                      2. Extract the downloaded zip and launch the WinMD5.exe file.
                      3. Click on the Browse button, navigate to the file that you want to check and select it.
                      4. Just as you select the file, the tool will show you its MD5 checksum.
                      5. Copy and paste the original MD5 value provided by the developer or the download page.
                      6. Click on Verify button.

                       

                      See more
                      Labels:
                      • Labels:
                      • Installation

                      QlikView 12.50 reload returns different data types than 12.10

                      by Support NadiaB in Official Support Articles
                      2021-01-26
                      0 Likes

                      QlikView 12.10:

                      Running a reload including a WHERE clause in which the field is a date (format mm/dd/yyyy) changes the numeric representation to #####.

                      Running a reload including a WHERE clause in which the field is a float value changes the value to

                      ...

                      QlikView 12.10:

                      Running a reload including a WHERE clause in which the field is a date (format mm/dd/yyyy) changes the numeric representation to #####.

                      Running a reload including a WHERE clause in which the field is a float value changes the value to a numeric value and drops the decimals when the number is an integer. e.g. 10.00 turns into 10

                      QlikView 12.50:

                      The reload maintains the original data type/formatting from the source. 

                       

                      Environment

                      • QlikView 12.50.2030

                       

                      Resolution

                       

                      This was an intended change in behavior.

                       

                      Workaround:

                       

                      It will be necessary to adjust the script and force the data conversion if necessary.

                       

                      Cause

                       

                      This is an intentional change in behavior (introduced in QV 12.20) where the QlikEngine is more effective with identifying, establishing and maintaining date formats. However, this increased awareness assumes that all dates are properly established and that they are a valid interpretation of either a date or the corresponding raw numeric format.

                      An optimized QVD is simply a mem copy operation and will not affect the original format whereas a non-optimized QVD load requires that the full ETL (Extract Transform Load) steps are performed; which affects performance in a negative way and formatted fields are being recalculated in order to fit with the data model. This recalculation sometimes result in that formatted values revert to the raw format in order to preserve the exactness of the numerical value rather than the format (which can always be modified at a later stage.

                      The format of an optimized QVD is propagated to a non-optimized QVD load when no explicit numerical format is established using the date() function. The original format of the optimized QVD is now preserved throughout an non-optimized reload of the QVD file if no other formats have been specified. Another implication is that this new behavior is much more deterministic but at the same time less forgiving with implicit formats. As a consequence it is more important to manage (raw) non-formatted values explicit. It is possible to keep the old (raw) non-formatted behavior of the QVD load by using the date() function in all relevant places, but it should be possible to maintain the implicit formats as long as the original data source is managed in a more explicit way.

                      Internal Investigation ID:

                      • QV-21548
                      See more
                      Labels:
                      • Labels:
                      • App Development

                      Qlik DataTransfer with an internet proxy

                      by Support Ayaka_Hanazono in Official Support Articles
                      2021-01-25
                      0 Likes

                      Qlik Data Transfer can't start if it needs to go through an internet proxy. 

                      You can find Error: Spaces service not responding in the DataUploadService log.

                       

                      Environment

                      • Qlik DataTransfer, all versions

                       

                      Resolution

                      You need to verify whether a pro

                      ...

                      Qlik Data Transfer can't start if it needs to go through an internet proxy. 

                      You can find Error: Spaces service not responding in the DataUploadService log.

                       

                      Environment

                      • Qlik DataTransfer, all versions

                       

                      Resolution

                      You need to verify whether a proxy has a setting to block a connection based on its application.

                      The proxy often filters a connection based on the application's port and URL, but sometimes, it may detect an application automatically. In order to utilize Qlik DataTransfer, you may need to disable this auto-detected filtering rule.

                       

                      Related Content

                      Qlik Data Transfer unable to connect to the tenant 

                      Uploading on-premises data with Qlik DataTransfer

                      Collect information for Qlik Sense SaaS support cases 
                       
                      Qlik Sense SaaS editions IP addresses and DNS names 

                       

                      See more
                      Labels:
                      • Labels:
                      • Data Connection

                      Monitoring Application - Reload fails with error "Exception of type 'System.OutOfMemoryException' on monitor_apps_REST_appobject

                      by Support Bastien_Laugiero in Official Support Articles
                      2021-01-25
                      0 Likes

                      Monitoring applications reload (Operation Monitor or Session Monitor) fails all of a sudden with error: 

                      Error: HTTP protocol error 500 (Internal Server Error):
                      Exception of type 'System.OutOfMemoryException' was thrown.

                      Looking several lines above yo

                      ...

                      Monitoring applications reload (Operation Monitor or Session Monitor) fails all of a sudden with error: 

                      Error: HTTP protocol error 500 (Internal Server Error):
                      Exception of type 'System.OutOfMemoryException' was thrown.

                      Looking several lines above you can identify what was the last Data Connection in use:

                      If the last connection opened was 'monitor_apps_REST_appobject' then it means that there are too many AppObject to load and the system is going out of memory.

                      Resolution

                      To work around this issue, it is possible to implement a filter in the data connection 'monitor_apps_REST_appobject' to reduce the amount of application object loaded.

                      To do so:

                      1. Open the Qlik Sense Management Console
                      2. Open Data Connections
                      3. Edit the Data Connection exhibiting the issue and view the Connection String. The default string will include https://localhost/qrs/app/object/full, which retrieves a full list of app objects.
                      4. Modify the filter to only obtain a specific AppObject type, such as 'sheet': 
                        https://localhost/qrs/app/object/full?filter=objectType+eq+'sheet'

                      Internal Investigation ID(s):

                      QB-2436

                       

                      See more
                      Labels:
                      • Labels:
                      • App Development

                      Single Integration API: Right-click on object inside a container doesn't work

                      by Specialist II Patricia_Silva in Official Support Articles
                      2021-01-23
                      0 Likes

                      Doing right qlik in objects inside the container works well when opened in Qlik Hub, but when opened through the url used in the iframe (single?appid=), the context menu only appears when clicking in a narrow band to the left of the chart itself. 

                      rec-screen.gif

                      E

                      ...

                      Doing right qlik in objects inside the container works well when opened in Qlik Hub, but when opened through the url used in the iframe (single?appid=), the context menu only appears when clicking in a narrow band to the left of the chart itself. 

                      rec-screen.gif

                      Environment

                      • Qlik Sense Enterprise on Windows June 2020

                      Resolution

                      The issue has been fixed in Qlik Sense November 2020 and September 2020 Patch 3.

                      Information provided on this defect is given as is at the time of documenting. For up to date information, please review the most recent Release Notes, or contact support at support.qlik.com with the ID QB-2013 for reference.

                      Fix Version:

                      • Qlik Sense November 2020
                      • Qlik Sense September 2020 Patch 3

                      Cause

                      Product Defect ID: QB-2013

                      See more
                      Labels:
                      • Labels:
                      • API
                      • App Development
                      • Integration and Embedding
                      • Visualization

                      Optimizing Qlik Sense SaaS Apps with App Analyzer

                      by Digital Support Troy_Raney in Official Support Articles
                      2021-01-22
                      0 Likes

                      This is a recording of a Support Techspert Thursdays session.

                      This session addresses:
                      - What the App Analyzer can do
                      - How to set it up
                      - How to improve app performance
                      - Troubleshooting issues

                      Chapters:

                      00:00 – Intro

                       01:26 - App Analyzer Overview

                       02:39

                      ...

                      This is a recording of a Support Techspert Thursdays session.

                      This session addresses:
                      - What the App Analyzer can do
                      - How to set it up
                      - How to improve app performance
                      - Troubleshooting issues

                      Chapters:

                      00:00 – Intro

                       01:26 - App Analyzer Overview

                       02:39 - When the App Analyzer is Useful

                       03:43 - SaaS Standard Tier Capabilities

                       06:23 - How Qlik Sense Stores Data

                       07:32 - App Analyzer Dashboard demo

                       08:58 - Example App Optimization

                       10:54 - Best Practice thresholds

                       12:02 - Threshold Analysis Sheet Demo

                       12:32 - App RAM to Quota Sheet Demo

                      13:19 - Example App

                       13:47 - App Analysis Sheet Demo

                      14:39 - Rolling Analysis Sheet Demo

                      16:28 - Reload Time

                      17:06 - Setting it up

                       18:11 - TIP: Relative Path

                       18:47 - Creating a REST Connection

                       20:34 - The right space to use

                       21:16 - Troubleshooting: SET ErrorMode

                       22:13 - TroubleShooting: API Key

                       23:29 - App Analyzer on Qlik Community

                       24:41 - Qlik Diagnostic Toolkit

                       25:41 - Qlik Sense Admin Playbook

                       26:13 - Q&A

                      Environment

                      • Qlik Sense Enterprise SaaS - Standard Tier

                      Related Content 

                      App Analyzer on Qlik Community

                      Qlik Dignostic Toolkit

                      Qlik Sense Admin Playbook

                      STT - Optimizing Qlik Sense SaaS Apps with App Analyzer

                       

                      Q&A:

                      Q: I noticed sheets supposedly in my app according to the App MetaData Analyser that are not part of my app. Is the presented data reliable?

                      A: Neither the App Analyzer for Qlik Sense Enterprise SaaS or the App Metadata Analyzer for Qlik Sense Enterprise on Windows track sheets – they only gather data model and reload metadata. That said, there was a bug in the App Metadata Analyzer for Qlik Sense Enterprise on Windows that did associate some fields/tables to the wrong apps that has since been addressed. You can always grab the latest version of the App Metadata Analyzer for Windows here.

                      Q: Hi, super interesting stuff!  is the very same App Analyzer available to non-SaaS customers?

                      A: The application that the App Analyzer was modeled off of is the App Metadata Analyzer for Qlik Sense Enterprise on Windows that ships with the product. You can find the most recent version of that application here.

                      Q: The configuration of REST Connector is throwing error "cannot connect"...are there any setup needed on the tenant level?

                      A: Please refer to the installation guide for the App Analyzer and if you are still having issues, please post on the Qlik Community entry here.

                      Q: Can we setup Qlik Alerting to inform us as we get closer to threshholds?

                      A: Absolutely, yes. This is a great way to stay on top of monitoring your applications. In addition, you can also monitor one of the charts from the app in the Hub to have a quick look at where everything stands each time you login to the tenant.

                      Transcript

                      Hello everyone and welcome to the first edition of Support Techspert Thursdays for 2021.

                      My name's Troy Raney and I’ll be your host for today's session. Today's presentation is: Optimizing Qlik Sense SaaS Apps with the App Analyzer.

                      Our presenter today is one of the architects behind the App Analyzer: Daniel Pilla. Dan please tell us a little bit about yourself and what we're going to be talking about today.

                       

                      Yeah, absolutely. Thanks Troy. So again, my name is Dan Pilla. I’m a principal analytics platform architect; previously enterprise architect at Qlik. I’ve been here for roughly six years at this point and my expertise lies within the architecture frameworks, integration topics as well as our cloud strategy at Qlik.

                      The presentation today, what we want to go over is just a high level: What is the App Analyzer; kind of where it came from and why was it created. We'll walk through a high-level demo; kind of paging through each sheet to show some of its capabilities and highlight a couple of examples. Along the way we'll talk about how it's configured. I’ll actually show a short little demo of that. We'll highlight a couple of troubleshooting issues, though hopefully you shouldn't have to deal with many. And then lastly, we'll talk about a couple of things to remember; some resources and of course how and where to get the application itself.

                       

                      Can you start by explaining for us, yeah, what the App Analyzer is?

                       

                      Yeah, no, absolutely. So we'll go over a very quick high-level overview, but ultimately the application it's a direct port from the App Metadata Analyzer, per Qlik Sense Enterprise on Windows. This application is actually, or its predecessor is actually shipped with the Windows product. You can find it with the additional applications like the Reloads Monitor, the Sessions Monitor for the Windows platform. And given that the API endpoint was the same in our SaaS platform, it seems like an obvious first choice for a monitoring application to port over. Now the data present in the application is pretty much identical across both platforms, and you're able to get the app base RAM footprint. That's the RAM footprint of the app opening from disk, so without any users or session cache. That's actually a direct quota that we’ll talk about in just another slide. In the SaaS platform, we'll talk about the peak reload RAM. So the maximum amount of RAM the application takes to reload, and then there's a number of other metrics. Like the table and field RAM, the overall row counts of the tables, cardinality, and then the presence of data islands, and synthetic keys, along with circular references that can kind of give you some hints on the integrity of the application itself.

                       

                      What are some example use cases for it?

                       

                      When to use it, there’s obviously a myriad of different times that you might want to come in. But at least at a high level: number one, just tracking of app RAM size against tenant quota. We'll talk about the quotas on additional slide but this is going to be a key metric that you will need to monitor in SaaS. We’ll talk about anomaly detection and again it can be used for identifying potentially problematic applications. As well as, of course, optimizing. These tend to go hand-in-hand. Lastly then data modeling standardization and best practices. So kind of: holding all of your developers to a certain bar and making sure that you're preventing any potential problems in the future for your end users.

                       

                      Dan, does this come pre-installed as a part of the SaaS tenant?

                       

                      At this point in time, it does not come pre-installed. So we'll talk about the configuration but you will need to grab this application from Qlik community and import it into your tenant. The good news is: it's just an app; and it should only take about 10 minutes to configure.

                       

                      Nice. So you're going to show us a demo now; and what tier of SaaS are you about to demo from?

                       

                      Good point. So I want to bring up, just to add a little color in context because not everyone on the call might be aware of the you know what the tiers are and what the standard quotas are and so forth. So we’re going to be demoing from a tenant that just has the standard tier enabled. What that means is: out of the box everyone gets this. There's no additional charge for this whatsoever. It's kind of baked-into the standard license, is that the base RAM quota per application is five GB by default. And again that's excluding all users excluding all caching and so on. It's just, if you were to open the application in RAM; how much does it take? And that is one of the default quotas in the SaaS tenant. There's no horizontal limit so you can open as many applications as you want that are under five GB. You can have as many users on them as you want. No limit from a horizontal scaling perspective.

                      There is also a quota of peak RAM reload it's 3x what the base RAM uh quota is. So ultimately when you reload the application, 99% of the time you should be under this quota of 15 GB for a maximum reload RAM. However, you know if you’re doing a mountain of joins, or auto generates, or auto numbers; you know there is the potential to hit this, however it is quite unlikely. But the application will highlight this; will track it; so, there's no guesswork. The application will illustrate all of these quotas for you.

                       

                      And what happens if someone tries to use an app that goes above these quotas? Like a base RAM quota of an app that's above that; will it even upload?

                       

                      It will. It, well, it depends. I don't want to get too deep into that. But you could have an application that; let's say, two gig on disk, that you could upload. And it might break, you know in a week or two. As you start to reload it, right? You can upload one that's right before.

                       

                      Yeah.

                       

                      But there are recent improvements in the upload service. So it now should check the RAM on import; and actually, from a distribution perspective, be smart enough to say that ‘Hey, this application won't open in RAM.’ So I know that actively product management and R&D are working to make that a better and better user experience; to potentially, you know, suggest that you might need an additional tier. And there's more “smarts” going into that in the future.

                       

                      Okay, cool.

                       

                      This is just the standard tier. There are additional tiers. So if you did want to upload an application that's 10 gigabyte on disk, 20 gigabyte on disk. I can say that almost every single corporation I’ve worked with has at least one that's larger than, you know five gig in base RAM. We do have additional tiers that can serve up to 50 gig applications in RAM. So please do contact sales, if you are interested in that. There are additional paid offerings.

                       

                      Can you quickly explain how Qlik stores data?

                       

                      Yeah absolutely. I did want to pull this up, because I will be directly mentioning symbol tables and data tables. And if you haven't seen this slide, or if you're not really into Qlik data modeling; you might not know what that is. So keep in mind that if I were to pull in a simple table; let's say, just region and sales. That the way that Qlik actually stores this data under the hood is in bit stuffed pointers. So you will actually see the symbol tables and the data tables illuminated inside of the app metadata analyzer. So you can get a concept of how much memory does an individual field take as part of the data model. And then how much memory does an individual table take as part of the data model. So just kind of keep this in the back your mind as I go through the demo; as that this inherently is how we store data. And that that becomes pretty apparent when we actually look at the application itself.

                       

                      It's great to see it visualized like this.

                       

                      No more PowerPoint. Let's actually hop into the presentation here. Now I’ve already imported the App Analyzer. Note that there is a version here, because we are continuously releasing new versions. For now let’s just open it up, and we'll do a demo of the front ends before we walk through the back end.

                      So right now we're looking at the dashboard sheet. On the left hand side, you can see a number of the thresholds. The top two are the most important that you'll want to pay attention to throughout the application. That's the quotas for the standard tier. And what I’m doing is: I’m giving you an alert at the 80 % threshold of that quota. Note that is configurable. You could swap that to 60%, if you wanted to be more conservative in the load script. And it's saying that you've got four applications that have basically exceeded the threshold. That are at least nearing the quota. As well as peak reload RAM that we've actually got one that's exceeded that 80% mark of the quota.

                      You can use this along with other sheets to track, to see apps that are encroaching up to that quota. So you can make sure that, you know, they're rectified before they will no longer open within the tenant.

                       

                      I love how it identifies potential issues. What else are we looking at here?

                       

                      Across the top you can see the number of KPIs. This is just helpful from a pure inventory perspective, quite frankly, to see how many apps you have in your environment; how many tables across each individual app. I can select, you know, any arbitrary application. I can then see all of the tables; the total table RAM footprint; the number of fields; and there are many other additional thresholds that you can set in the load script.

                      For example, you know, I don't want applications to contain more than 150 fields or I don't want an app to contain more than 100 million records. Just from a sheer best-practices standpoint, all of those are adjustable.

                      Now I actually want to take this moment to call out an example here. So, I’ve clicked on a single application. Note that it’s pretty much completely capped. It's at our base RAM quota; from a peak reload RAM perspective, it's okay. But you know, at some point in time in the very near future, it's no longer going to open on this tenant. I can then see that I’ve got a line item table that's taking about a little over a gig in memory, and then I’ve got some comment fields it appears as if that take a very large amount of space. So one individual field is over one gigabyte in RAM. I could pretty much drop down to 80% if I just dropped that individual field.

                      Now in the Windows world this would just be considered, you know, optimization. In the SaaS world, this is going to keep your apps running at no additional charge; so it becomes even more important.

                      I can then take a look at another application here, that's my optimized version. If I select that app, you can now see that I’ve dropped all of the comment fields. I actually dropped eight comment fields. I dropped down from 5 GB to 1.7 GB, and that was just eight fields. And let's say that you know, you probe your users; you interview them to see ‘are these fields that you're actually using?’ ‘Are these critical to your analysis?’ You know, obviously before you drop them. But you might not have ever known that they had consumed that much memory. This makes it very very easy to do some pretty simple optimization.

                       

                      That's a dramatic improvement. That's really impressive.

                       

                      Yeah, and I can say that we have one customer example: they had an 18 GB app on disk. This is obviously in the Windows world. They used this application to drop, I think it was a total of 5 fields, and they optimized a few time stamps. They dropped it down to 10 GB in RAM. So they shaved 8 out of 18 GB off from just changing a few different fields. Especially once you start to hit high data volumes; little things like that can make a really big difference.

                      Now I want to clarify something. Those red lines that kind of make a dramatic impact; are those system thresholds? Or are those just sort of ‘best practices,’ ‘this is what we recommend’ thresholds?

                       

                      Yeah. No, that's a great question. So these are arbitrary, you know, system administrator thresholds. They’re rough, kind of default lines in the sands, but you don't have to use them truly as guide points. In SaaS, roughly the 100 million record is actually probably a rough ballpark, quite frankly for the SaaS tenant. These are intended to say you know; as developer, I know what data sources my users are going against. I don’t want someone pulling in half a billion records. I don’t want them loading in 400 fields into an application with a select star. Or I don’t want them to have 100 tables in their application. They're more meant to be guide posts that an administrator can set up and then monitor you know, what developers aren't following their definition of best practices. So those are intended to be customized.

                       

                      And does the number of users affect the RAM performance?

                       

                      From this app's perspective, no. That's actually a really good distinguishing point. This is only looking at the data model, without any users. So, it's just pure application. This threshold of 5 GB excludes all user activity. It's simply for the data model.

                       

                      Okay, can you walk us through the rest of the sheets?

                       

                      Yeah, absolutely. So, if we go over to the threshold analysis sheet. So, let's assume that you've you know, selected an application. You can then see all of the details for the individual tables, the individual fields. You've got some additional thresholds that are set in here. Again, the number of field records, field cardinality, table number of records, as well as you know number of fields. I believe the setting here is 150. So, just more detail. Same general metrics that you would see on the dashboard sheet, just a different way of looking at it.

                      From the app RAM to quote up perspective, this is my favorite sheet from like a tenant inventory; to see where my apps stand today, and realistically you know, should I be considering additional capacity in my tenant, right? If I see that I’ve got a pretty heavy %age of apps that are at 60% + of my tenant, it might be time right to look into having additional capacity. Or maybe, should I be looking into something like On-Demand App Generation, or Dynamic Views to start thinning out my data models. Either or could be good routes. But really it's looking to see what %age of all of my applications sit within what %age of base RAM footprint of my quota, as well as peak reload RAM of my quota.

                      Now note, you might have you know some applications; for example, this one that has a pretty high peak RAM, but relatively low base RAM. This could be from using you know, monolithic QVDs that take a lot of RAM to buffer. It could be that you're using two dozen auto-numbers right in your in your script that takes just a lot of overhead. More than likely I’d say, 90% + of the time, this quote is going to trip before this one will.

                      If we go over to this sheet. This should look familiar to some users, especially from the Windows world. I’m focusing kind of heavily on ownership here, as well as a little bit on garbage collection. So, I do want to call out this visualization in the top right, where you can see: A) some apps that have never been reloaded on the tenant, and then other ones that haven't just been run in a really long time. So it might even be worthwhile; make a selection here, see if there's trends in ownership. See what spaces they belong to, and see you know, are all of these applications actually necessary? So it does have the capability to do a little bit of garbage collection within the tenant.

                      I’ll leave this to you on what you want to do with this. You could of course, go in and select ‘I want to see trends by users of you know synthetic keys,’ by data islands, by number of fields; and you could actually start to develop potentially users that might need training.

                       

                      Now this is probably the most complex sheet, at least from an analysis standpoint; and what it's capable of doing. This has been running for quite a while, so I’m going to filter this to pretty recently. And I have some applications here that I wanted everyone to specifically take a look at. So, I’ve set up a few applications here that are reloading every night. And they're growing on at least what I intended to be a 1%, 2%, 5%, 50% growth rate; so you could see a few trends here. On the left-hand side, all of these buttons will change the actual metric that it's running. So, if I select this app that's growing at a rate of 50%, I can expand this and I can see that you know; daily I’m increasing at a rate of 50%. You could then anticipate potentially when this number is going to hit 5 GB, which would be within this week, more than likely. If I flip that metric to go ahead and look at peak RAM, you can note I’m actually really close. And because of this, I’m using auto-number; I’m using auto-generate within that script. You will actually hit the peak RAM threshold before you would the base RAM. But this becomes very simple to you know, come in and you could tie alerts to this. Because I don’t want to have downtime of this application.

                       

                      Yeah, this is great! You can really see trends and anticipate problems before they happen.

                       

                      Exactly! And if you go ahead and click on total rows too; now I can see where hey, if I stayed under that 100 million benchmark that my you know, sysadmin had set, likely wouldn't have to worry about either of those base RAM thresholds. But it can still be that nice guidepost that you can pretty confidently say that you'll be able to stay under a certain threshold. So you'll have to kind of play with that a little bit, and use this application to see how applications profile with your own data sets.

                       

                      Lastly you can take a look at reload time as well; which is handy. This can be nice to see hey, is it potentially on the sheer data volumes from Qlik's perspective? Or is it potentially my database is taking longer? Or I’m using a rest API and that's taking longer? It'd be interesting to actually be able to track those trends from a reload time perspective as well. I hope that at least sheds a little bit of light on what this application does.

                       

                      Yeah, it's an amazing amount of information on how the tenant is performing overall; analyzing specific apps and helping admins find ways to optimize and improve. Now, since it's not pre-installed, what's necessary to set it up?

                       

                      Yeah. Let's go ahead and take a look at the data load editor. I promise it's not too daunting in this application. So this is you know, exactly what you'll see when you pull in the application from Qlik community, and we'll show that in just a moment. You're just going to see 4 variables. And I’ve tried to outline you know, there's a full walk-through guide, so you don't have to use the comments in the load script. But I did comment out everything, so you should actually be able to just follow it from here if you had to. Note at the top, it does require Tenant Admin. And you will have to have the Developer role, because you will need to use the REST Connector, which requires an API key. To get an API key, you have to be a developer. You have to be a Tenant Admin, because obviously you have to be able to see all of the applications, and we of course want you to be able to get everything in the tenant.

                       

                      That makes sense.

                       

                      The first is just as simple as possible. I actually forget what my URL is. I’m going to: ‘ea-hybrid-qcs-internal.’ Our region is ‘US.’ That can be one of a few different regions. Now this set REST Connection; I want you to notice one thing. First notice that there's just a ‘:’ so I’m actually sitting in the Monitoring Apps Dev space. So, if I wanted to fully qualify that, it would look something like this. The ‘:’ is for a relative path; so if I was moving this across spaces, and I had a data connection named ‘REST for App Analyzer’ across multiple spaces, I could move the app freely without having to worry about the actual qualified space name. So, that's more of a tip and a trick, quite frankly.

                       

                      That's a great tip.

                       

                      I’m going to name this ‘Delete Me,’ because I don’t want to muddy-up my tenant. But we're going to create one really quickly. So, we're going to create a new REST Connection. I can search for REST. Now the tenant URL; again, this is all in the guide, ‘qcs-internal.us.qlikcloud.com’ So, that's my tenant. And we can put in any arbitrary API endpoint. I’m going to use ‘/API/v1/items.’

                      Now below, you only have to fill in one query header; and that's ultimately for your API key. So, the query header is ‘authorization.’ And then you'll put in the word ‘bearer’ space and your token. I’m going to simply paste that from my clipboard. But if I go back over, I can see ‘bearer’ space and the token. Name this ‘Delete Me,’ because that's what I said it was going to be called. I’ll test my connection. Connection has succeeded. So, now you can see that connection, because I’m in the Monitoring Apps Dev space. This relative path will pick it right up. Below that, this application incrementally loads. So, you don't have to pull all of your applications every single time. It'll do it since the they've been last reloaded; which is the only time the metadata actually changes for the applications. I’m just going to put them right in the Data Files for this space. So, you can just do ‘:data files.’ Alternatively, you can store them in S3, Azure, Blob, Google Drive; wherever you store your data. The last one here, we'll talk about in in just a moment. But it's used for troubleshooting, so you can ignore that for now.

                      But let's go ahead and hit ‘Load.’

                       

                      Does this take a long time to reload?

                       

                      It does not. So, even on some fairly large tenants; we're talking about minutes. This already has the incremental QVDs that you can see sitting in Data Files, so it's only going to pick up you know, a few applications since it's been last reloaded. But I believe on this tenant, which has roughly 100 apps; it's roughly 30 seconds or so. But we're talking minutes.

                       

                      In which space would you recommend this app be in? Should this be in a shared space?

                       

                      Yeah. I always recommend that if an application is going to be published out that it begin in a shared space. It's always easier to start in a in a shared space. And then I typically, as my convention states, I’ll name something you know, ‘REST for App Analyzer,’ and I’ll have my Dev version, and then I’ll have a Prod version of that same connector that lives in my managed space. It's different from a Windows perspective. From you know, having a Dev tier and a Prod tier and a QA tier and a Test tier. In the world of SaaS, you can do that with spaces. So, I usually just qualify them in whatever “tier” they are, and I always use Shared spaces for that.

                       

                      So, what would happen if an app that the App Analyzer is reading from suddenly gets deleted? Would that cause any problems?

                       

                      Yeah, no. It's a great tee-up for this Error Mode. So, from a troubleshooting perspective, 100%. If you're in a very large active tenant, where even if you're doing you know, programmatic testing; that's where it's going to come up, especially within our own R&D tenant it comes up quite commonly there. You might see a ‘404’ or two. And the reason being is: once the application reloads, it does a GET of all applications across the tenant. And then it iterates over every metadata endpoint for every app. Now if one of those apps vanishes in the middle of the reload process, it's going to say ‘Hey! I can't find this application.” Which is a 404. So, once you've configured the app, it's generally considered just a good practice to set the Error Mode to 0 for the application, if you know it's functional of course, to kind of steamroll over those errors as they come up.

                      Just note that if this is set to Error Mode; and you're steam rolling over those errors. And at some point in time you know, your API key expires. It's going to steamroll over those errors too, and you're no longer going to be able to update your application appropriately. So, in conjunction with that, because this is the other place that the app could fail; when you create an API key, and you set your expiration date for that API key, put a reminder in Outlook or put an alert somewhere that will remind you let's say a week prior to update that API key. So, you don't have to worry about you know, that also causing an error you know 365 days from now right? Or 90 days from now, however long that you set that expiration for.

                       

                      That's a great tip: to put it in the calendar; because otherwise, it just expires and causes problems.

                       

                      Yep. Otherwise, it's going to throw you for a loop one year from today or however long you set it. Guaranteed. Because you won't remember.

                       

                      Are there any resources that admins should be aware of?

                       

                      I have a resources-slide here. I’ll pull up a couple of those pages that I talked about. I just want to hammer this point again. That it is available on community. I’ll go and visit that site in just a in just a moment. But again, it doesn't ship with the tenants; so I suggest that you subscribe to you know, to this post and follow it.

                       

                      So, here's the page for the App Analyzer. You can see that it's actually been up since August of 2020. I believe there have been one or two version changes since. But you can find a demo very similar to the one that just gave on YouTube. You can also find a pretty exhaustive install guide for the app here as well. So, it's going to show you exactly how to set up and generate an API key; how to build out that REST Connection. A step-by-step guide to make sure that you'll be good-to-go for the application. So, you don't just have to go off the script notes. And then you'll see the actual you know. dot release version of the app. I just want to call one other thing out briefly. That the App Analyzer isn't officially Supported by Qlik, but we do have both Product Management, R&D, along with Pre-Sales (including myself) that are following that community entry. If you have issues there, please post them up; even just general feedback. We do look at it. We do address it. You know, we've got many customers that are already using this, and we know that it's going to be critical, so we will Support it you know, to the best of our abilities. But it isn't officially supported, and I am mandated to say that.

                       

                      Can we take a look at those best practices sites you mentioned?

                       

                      Yeah! So, we've got the Diagnostic Toolkit, which has been up for a couple of years now. And quite frankly, some of this is borrowed from the QlikView days, because we're working off the same engine here. What this does is: it gives you - don't have to fill out the top bit - it just exports a PDF if you wanted to. Again, like I said, some of our customers actually do require the output of this in their publish process.

                      It's these bullets below that can be really helpful as you're validating or you're building out a data model, and each one of these typically has links to relevant community articles. For example, this one actually links out to Rob Wunderlich’s utility. There's a whole bunch of articles that link out, you know, Henric Cronström’s old post. HICs if you're familiar, old posts. There's a lot of really good collated content here in one centralized place. And a bit of interface performance too. But the relevant bullets for the data model perspective are all in this top section here.

                       

                      So, from the Admin Playbook perspective this is a recommended playbook and best practices guide for the Windows platform. There is a lot of overlap from an application perspective. But the reason I’m pulling this up is: we're currently investigating and exploring in 2021 the possibility of building something quite similar for the SaaS platform. You know, this took roughly a year of work to build out for the Windows platform. So, this is more of a ‘I’d keep your eyes peeled for something similar to this in the future from a SaaS perspective.’

                       

                      Okay now it's time for some Q&A. Please place your questions in the Q&A panel on the left side of your on24 console. Dan, which question would you like to address first?

                       

                      Yeah, let's go ahead and start with the first one that I see here. So, does the App Analyzer need to be purchased separately?

                       

                      While it is separate, there is no fee. This is a free application that Qlik has provided to you. Again, while we don't have a strict Support policy for it per se, we will do our best to Support it over time, at least unofficially from a Pre-Sales perspective and a PM perspective. But it is something that we plan to make readily available for the foreseeable feature at no cost that you can import into your tenant and give it a run.

                       

                      The next one here: Is there a version of this app for QlikView?

                       

                      That's a really good question. So, one thing that I didn't call out during the presentation, and if you weren't already aware is: Qlik Sense Enterprise SaaS can host QlikView applications. And the App Analyzer will actually pick up those applications. So, if you're using let's say QlikView Publisher to distribute out QVWs, the App Analyzer will check whether those are you know, under 5 GB in RAM or not, and actually give you metrics about the model itself, which is unique to the SaaS platform, considering that it's you're able to analyze both types of applications. So, good question.

                       

                      I’ve got one here that says you know: I’ve got some large applications in my Enterprise on Windows environments. What do I do with apps that are let's say 10 GB on disk?

                       

                      So, yes. I did bring up that this presentation predominantly was focusing on the standard tier. We do have two additional tiers at this point in time: Expanded Capacity and Dedicated Capacity. Both of those allow for applications that are up to 50 GB in RAM. There is of course you know, an up charge for this, but do contact sales if you are interested.

                       

                      We've got one that is: are there tips for optimizing peak reload RAM?

                       

                      Yeah. I did mention at least one of them which was: you know, try not to use monolithic QVDs. Just the way that Qlik loads QVDs, they can they can take a lot of peak RAM to buffer in. So, it's why generally, we say you know, partition your QVDs. Be that by month; for example, potentially by dimension, because they will actually be easier to consume or less RAM intensive to consume. Also, just trying to avoid you know, massive nested Ifs, egregious usage of you know, auto-number or autogenerate, and things that are kind of notorious for taking a lot of peak RAM that you might be fine with eating in the Windows world. But from a SaaS perspective you know, it might behoove you to seek out alternative strategies there.

                       

                      We've got one that's: will running the App Analyzer itself impact the performance of other apps on my tenant?

                       

                      Good question. For this one, I mean generally speaking, no. Because it's reloading so rapidly. And we don't suggest that it reload you know, more than once a day, quite frankly. You know, it's, this isn't an app that you're gonna have reloading every 5 minutes. You're probably going to be checking it on at most a daily basis. So, I usually suggest running it you know, in your batch window overnight. Additionally, you know, because of the SaaS platform by nature; it's a microservice you know cloud-native offering. So, you're not going to hit the same bottlenecks that you might hit in the Windows world; so, even if you were running it you know every 5-10 minutes, I still don't think it would impact the performance of your tenant.

                       

                      We've got one that is: what are the minimum privileges needed to do this?

                       

                      So yeah. We did cover that that's going to be Tenant Admin and Developer (role). Wou will need Tenant Admin to of course access all of the assets across your tenant, as well as the Developer role so you can get an API key to actually interact with the Qlik APIs.

                       

                      We've got another one that: is this the same as the app for Windows, the Sense System Performance Analyzer?

                       

                      No. However, it does have a direct correlation in parallel with the App Metadata Analyzer for Windows, which is pretty much the same exact data model. That is another application that does again ship with the Windows product. You've got to manually import it into your Qlik Sense Enterprise and Windows site, but it is pretty much identical to this application. Just note that this one is obviously, you know, all of the piping has been redone to work with the Enterprise SaaS APIs. Instead ‘how to get the CPU hit’ and ‘RAM expansion on open,’ in SaaS you won't get the CUP, but you will get the RAM. For the App Analyzer, that's the key metric that that application exposes. And again, that's the key quota that is for the standard tier. That 5 GB is that app open event that's actually a good way of, it's actually the exact event that we throttle with REST Connections where data limits are in place.

                       

                      … pagination…gotcha. So, basically, the  question is: in the SaaS APIs, there are, there's limits on in the amount of data that's returned so you do have to paginate.

                       

                      And yes, if you actually take a look at the App Analyzers load script; on all of my REST calls to get the apps, to get the spaces, to get the users, all of those are set up to paginate by default. So, if there are, let's say, more than 100 apps in your tenant, that will be a minimum of two API calls to fetch all of those; and yes, you can you can use those example scripts to use in your own applications, if you see fit.

                       

                      Is there an application like a License Monitor for Qlik Sense client managed?

                       

                      Great question. And we get asked this a lot. This App Analyzer is the first monitoring application for SaaS, because it is quite frankly, the simplest to port, because of the fact that it's built off of the same JSON structure, the same application metadata that's available on both platforms. It was pretty close to plug and play in our SaaS tenant. That said, we completely understand that you know, user monitoring, adoption, I want to see what applications users are using, what sheets are they navigating to, I want to be able to do things like track expensive objects, absolutely. That is coming. In fact, the latter is coming in the February release, to be able to actually look at performance of individual objects in the application itself from a user perspective.

                      We are absolutely, product management and R&D are researching the best way to expose those metrics, but we do recognize that you know, that is of course not available in this application. But just to be frank, that's not the intent of this application.

                       

                      Okay Dan, we have time for one last question.

                       

                      Okay gotcha. Let's take, this is a good one: so moving from the Windows platform to SaaS, how do we know if it will fit in standard tier?

                       

                      Really good question. So, we have developed a tool internally. We call them the SaaS Readiness Applications that pre-sales services, a number of different organizations across Qlik can help run on your site. They are just simply; it's a QVF that we can hook up to your site that will do a profile of all of the applications for you, and it will actually, you know, what respective tiers each application would fit in. So please do reach out to your account rep, and we can work with you to run that to make sure that you'll be you'll be as prepared as possible to migrate over to SaaS.

                      Note on the Readiness app mentioned:

                      The SaaS Readiness apps are available on the Partner Portal for download. That said, this was built as an internal PreSales tool that was then exposed to Partners. It requires interpretation. There have not been any major enhancements made to this app in a while.

                      A more complete toolset is now available publicly that incorporates much of the SaaS Readiness app (it was built on top of it) and that can be found in the Migration Center.

                      Great! Thank you very much, Dan. I think this can be really useful for people.

                       

                      Absolutely! Thank you, Troy for having me.

                       

                      Thank you everyone. We hope you enjoyed this session. Thank you especially to Dan for presenting. We appreciate getting experts like Dan to share with us. Here's our legal disclaimer, and thank you once again. Have a great rest of your day.

                      See more
                      • Tags:
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • Administration
                      • API
                      • App Development
                      • How To

                      Qlik Cloud: "Unable to connect to the Qlik Sense engine" error when opening or accessing an app

                      by Support Nobuaki_T in Official Support Articles
                      2021-01-25
                      0 Likes

                      By accessing the tenant of the Qlik Sense SaaS editions,  you may get the following error after trying to open an app.


                      "Unable to connect to the Qlik Sense engine. Possible causes: too many connections, the service is offline, or networking issues."

                      ToniKautto_0-1650934623867.png

                      ...

                      By accessing the tenant of the Qlik Sense SaaS editions,  you may get the following error after trying to open an app.


                      "Unable to connect to the Qlik Sense engine. Possible causes: too many connections, the service is offline, or networking issues."

                      ToniKautto_0-1650934623867.png

                      Environment

                      • Qlik Sense Enterprise SaaS
                      • Qlik Sense Business

                      Resolution

                      In the most common scenario, the error is related to an idle session timeout. If the error occurs after 20 min idle time, the only required action is to click "Refresh" in order to reconnect the client to Qlik Sense. 
                      For this scenario, a more user-friendly message is planned for future Qlik Cloud releases. 

                      It is recommended to try and establish if a network device between the browser and the Internet is causing the connection error if it occurs immediately or sooner than idle session timeout.

                      • Contact your local IT helpdesk for troubleshooting and advice.
                        • Confirm that network components support Websocket connections to your tenant  <tenantname>.<region>.qlikcloud.com
                        • Check if the device utilizes an Internet proxy for Internet access
                        • Disable VPN if feasible
                      • Connect to Qlik Cloud tenant from a different device or network

                        • Connect with a non-corporate device, to quickly identify if corporate policy is causing the issue
                        • Access Qlik Download page as a test, if the tenant is not allowed from another device
                      • Check browser dev tools for more specific error messages

                        • Search Qlik Support Knowledge for related articles and known issues 
                        • Open Qlik Support ticket if the error can not be resolved and local IT can not find a root cause

                      Cause 

                      Qlik Sense uses WebSockets that enable communication between the web browser and Qlik Sense server. A Qlik Sense application gets generated with visualization objects and data via this communication.
                      The same technology is applied for web integration where Qlik Sense objects are embedded in other pages. 

                      The root cause of this error is that the browser's WebSocket connection has been terminated for various reasons;

                      • The most common scenario is that the session has been idle for 20 minutes, and session timeout has been reached in Qlik Sense engine. In such a case, the session will be restored by pressing "Refresh" in the error dialog. 
                      • The WebSocket connection may be terminated prematurely or blocked by a network device.
                        • If the error occurs immediately when an app is accessed, it may indicate that WebSocket traffic is not allowed to pass through from the browser to the Internet.
                          It may also indicate that multiple concurrent WebSocket connections are not allowed in all network devices between the browser and the Internet. 
                        • If the error occurs a few seconds after the app has been successfully opened, it may indicate that the WebSocket connection is not allowed to be persistent in the network devices between the browser and the Internet.
                          Qlik Sense requires persistent WebSocket connections, and also sends TCP keep-alive packages every ~30 secs to keep the connection open even when a user is not actively interacting with a Qlik Sense app. This keep-alive mechanism will not work if a network device has a lower connection timeout than 30 seconds. 
                        • WebSocket connections use a different (WSS) protocol and port than normal (HTTPS) web traffic. Network devices between the browser and the Internet must support the use of the WebSocket protocol. 

                      Related Content 

                      • Qlik Sense Enterprise SaaS requirements / Qlik Sense Business requirements 
                      • How are WebSockets used in Qlik Sense? 
                      • How to troubleshoot web socket issue for Qlik Sense  
                      See more
                      • Tags:
                      • Qlik Sense Business
                      • Qlik Sense Enterprise SaaS
                      Labels:
                      • Labels:
                      • Configuration

                      Qlik Sense for Windows: How to set up Keycloak as SAML Identity Provider

                      by Support Damien_V in Official Support Articles
                      2021-01-22
                      0 Likes

                      This is a quick guide on how to set up SAML authentication in Qlik Sense for Windows using Keycloak as the Identity Provider.

                       

                      Environment:

                      Qlik Sense Enterprise on Windows  February 2020 and later

                       

                      1. In Keycloak, navigate to General and Realm Sett
                      ...

                      This is a quick guide on how to set up SAML authentication in Qlik Sense for Windows using Keycloak as the Identity Provider.

                       

                      Environment:

                      Qlik Sense Enterprise on Windows  February 2020 and later

                       

                      1. In Keycloak, navigate to General and Realm Settings and download the IdP metadata 

                        Damien_Villaret_0-1671765374463.png

                      2. In Qlik Sense Enterprise on Windows, set up a new virtual proxy:

                        Damien_Villaret_1-1611302885434.png

                        SAML Host URI: The Qlik Sense server DNS name accessed by end users
                        SAML Entity ID: Any string, but should match the Client ID in the Keycloak configuration.
                        SAML attribute for user ID: this should be the attribute containing the value that will be used as the user ID in Qlik Sense. Those attributes are set in “Mappers” in the Keycloak configuration.

                      3. In Keycloak, set up a test user:

                        Damien_Villaret_1-1671765491608.png

                      4. Click Save and go to Credentials to set the password

                        Damien_Villaret_2-1671765595894.png

                      5. In Keycloak, add a new Client.

                        Note: Client ID needs to be the Entity ID set in Qlik Sense in step 2.

                        Damien_Villaret_3-1671765686271.png

                      6. In the Client settings locate Signature and encryption and make sure that Sign Assertions is enabled. Sign Documents should be disabled (if it remains enabled, the implementation will still function, but Qlik Sense does not use Sign Documents and will ignore it).

                        Damien_Villaret_4-1671765741225.jpeg

                      7. Switch to the Keys tab and disable Client Signature Required. In order to enable this feature, some extra steps are needed, see at the end of this article (Optional Steps - Client Signature) if you wish to enable the feature.

                        Damien_Villaret_5-1671767133315.png

                      8. Switch to the Advanced tab and set the Assertion Consumer Service POST Binding URL.

                        It should be https://{SAML Host URI}/{virtual proxy prefix}/samlauthn/ 

                        Make sure not to forget the ending slash after samlauthn, otherwise the authentication will fail.

                        Damien_Villaret_0-1671777877902.png

                        The last step is to add the X500 email User Property as we are using the attribute "email" as the User ID in the Qlik Sense virtual proxy settings.

                        Under "Client Scopes", click on the name of client scope that has the description "Dedicated scope and mappers for this client", in the below screenshot the name is QSKeycloak-dedicted.

                        Damien_Villaret_1-1671778247451.png

                      9. Choose Add predefined mapper and choose X500 email then click Add

                        Damien_Villaret_2-1671778324089.png

                        Damien_Villaret_3-1671778390270.png

                      10. Everything is now set up and operational.

                       

                      Optional steps

                      Client Signature

                      In order to enable Client Signature Required, which means that Keycloak will check the signature on the SAMLAuthnRequest sent from Qlik Sense, the Qlik Sense certificate needs to be added in the Keycloak client configuration.

                      The certificate can be copied directly from the SP Metadata downloaded from the Qlik Sense Management Console. 

                      1. Open the Management Console and navigate to Virtual Proxies
                      2. Open your Virtual proxy set up for Keycloak
                      3. Click Download SP metadata

                        Damien_Villaret_0-1611315136765.png


                      4. It will look like this:

                        Damien_Villaret_0-1611315433412.png

                      5. Copy it to a new file, and add:

                        -----BEGIN CERTIFICATE-----
                        [content]
                        -----END CERTIFICATE----- 


                        then save it as a .pem file.

                        Damien_Villaret_0-1611315759828.png

                      6. Import the certificate as PEM in Keycloak by clicking Client signature required under Keys

                        Damien_Villaret_4-1671779118041.png

                        Damien_Villaret_5-1671779634110.png

                       


                      SAML Assertion Encryption
                      The SAML assertion can be encrypted by checking the option in Keycloak in Keys in the same way as for Client Signature required.
                       
                      Damien_Villaret_6-1671779818853.png

                      The certificate can be extracted in the same way that it is done when enabling Client signature required.

                      See more
                      Labels:
                      • Labels:
                      • Integration and Embedding
                      • « Previous
                        • 1
                        • …
                        • 305
                        • 306
                        • 307
                        • …
                        • 429
                      • Next »
                      Top

                      Products

                      • All Products
                      • Qlik Cloud Platform
                      • Qlik Sense
                      • Qlik AutoML
                      • QlikView
                      • Qlik Replicate
                      • Qlik Compose for Data Lakes
                      • Qlik Compose for Data Warehouse
                      • Qlik Enterprise Manager
                      • Catalog & Lineage
                      • Qlik Gold Client
                      • Why Qlik

                      Resources

                      • Resource Library
                      • Qlik Partners
                      • Free Trials
                      • Compare Qlik
                      • Glossary
                      • Training
                      • Support

                      Company

                      • About Qlik
                      • Press Room
                      • Trust & Security
                      • Accessibility
                      • Privacy
                      • Careers
                      • Global Offices
                      • Contact Sales

                      Qlik Community

                      Legal

                      © 1993-2025 QlikTech International AB, All Rights Reserved
                      • Legal Policies
                      • Privacy & Cookie Notice
                      • Trademarks
                      • Terms of Use
                      • Legal Agreements
                      • Product Terms
                      • Do not share my info
                      • ADA Site Compliance-Accessibility Policy
                      Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
                      Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.