Configuring analytic connections in Qlik Sense Desktop

With analytic connections you are able to integrate external analysis with your business discovery. An analytic connection extends the expressions you can use in load scripts and charts by calling an external calculation engine (when you do this, the calculation engine acts as a server-side extension (SSE)). For example, you could create an analytic connection to R, and use statistical expressions when you load the data.

For Qlik Sense Desktop, the configuration must be done in the Settings.ini file.

Do the following:

  1. Open the file Settings.ini.

    For Qlik Sense Desktop it is located in C:/Users/<User ID>/Documents/Qlik/Sense/ or in C:/Users/AppData/Local/Programs/Qlik/Sense/Engine.

    For Qlik Sense it is found in: C:/ProgramData/Qlik/Sense/Engine/.

  2. Add the following configuration (note the empty line at the end):

    [Settings 7]
    SSEPlugin=<PluginConfig>[;<PluginConfig>...]
     
  3. Where <PluginConfig> is a comma-separated list of configuration elements containing the following:

    <EngineName>,<Address>[,<PathToCertFile>,<RequestTimeout>,<ReconnectTimeout>]

Note: After adding new connections or changing existing connections, a restart of Qlik Sense Desktop is required for the changes to take effect.
Note: Note that the server-side extension (SSE) plugin server must be running before you start Qlik Sense, otherwise the connection will not be established.

Qlik open source SSE repositories

The following two Qlik SSE repositories are open source:

  • https://github.com/qlik-oss/server-side-extension

    Contains the SSE protocol, general documentation, and examples written in Python and C++.

  • https://github.com/qlik-oss/sse-r-plugin

    Contains an R-plugin written in C#, only the source code. You must create the plugin before it can be used.

Description of the elements

<EngineName>: Mapping/alias to the plugin that will be used from within the expressions in the app using the plugin functions, for example, SSEPython for a Python plugin.

<Address>: colon-separated list with two elements, and

  • <Host>: DNS name (or IP-adress) of the plugin.
  • <Port>: Port on which the plugin listens, typically 50051.

<PathToCertFile>: File system path to folder containing client certificates required for secure communication with the plugin. Optional. If omitted, insecure communication will be invoked. This path just points to the folder where the certificates are located. You have to make sure that they are actually copied to that folder. The names of the three certificate files must be the following: root_cert.pem, sse_client_cert.pem, sse_client_key.pem. Only mutual authentication (server and client authentication) is allowed.

<RequestTimeout>: Integer (seconds). Optional. Default value is 0 (infinite). Timeout for message duration.

<ReconnectTimeout>: Integer (seconds). Optional. Default value is 20 (seconds). Time before the client tries to reconnect to the plugin after the connection to the plugin was lost.

Examples:  

  • Example where one SSE plugin server is defined: SSEPlugin=SSEPython,localhost:50051
  • Example where two SSE plugin servers are defined: SSEPlugin=SSEPython,localhost:50051;R,localhost:50053
  • Example where one SSE plugin server is defined without certificate path but with timeouts set: SSEPlugin=SSEPython,localhost:50051,,0,20

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?