Getting started with analytic connections
You need to create and deploy, or have access to third-party machine learning models exposing REST based API endpoints, before you can create and load machine learning connections.
There are several third party platforms where machine learning models can be created, trained, and deployed, such as:
Train a classification model with no-code AutoML in the Azure Machine Learning studio
Get Started with Amazon SageMaker
Enabling analytic connections for machine learning endpoints
Machine learning endpoints are disabled by default.
Tenant administrators can enable machine learning endpoints in the Management Console under Feature control in the Settings window.
Using analytic connections and server-side extensions syntax
Analytic connections can send data to externally exposed machine learning endpoints for calculations, and returned data can be loaded into a Qlik Sense app.
Data load scripts and chart expressions are two ways in which analytic connections can be added to a Qlik Sense app. Both server-side extension (SSE) functions and parameters are processed within Qlik Sense, then converted into REST requests which are sent to machine learning models. SSE load scripts and chart expressions must honor SSE syntax. See Server side extensions syntax.
Data load script
You can return a table from the SSE call and load data from analytic connections using the LOAD ... EXTENSION statement in the Qlik Sense data load script. You can send a single table to the model, and a single data table is returned.
When you use an SSE function in the Qlik Sense data load script (the LOAD ... EXTENSION statement excluded), the cardinality is preserved, and a single column is returned.
SSE function calls from within any other load statements, for example Load ... From ..., only support scalar and aggregation function types. This implies that data containing n rows, will result in n calls to the model unless you are aggregating the data resulting in a single call.
Data types are automatically detected in analytic connections. If the data has no numeric values and at least one non-NULL text string, the field is considered as text. In any other case it is considered as numeric. You can force the data type by wrapping a field name with String() or Mixed(). String() forces the field to be text. If the field is numeric, the text part of the dual value is extracted, there is no conversion performed. Mixed() forces the field to be dual.
Chart expressions cannot consume a table returned from the SSE function call. When you use an SSE function in a chart expression, the cardinality is preserved and only the first column returned will be used by Qlik Sense.