Accéder au contenu principal

Syntaxe server-side extension (SSE)

SUR CETTE PAGE

Syntaxe server-side extension (SSE)

Vous trouverez une présentation de la syntaxe server-side extension (SSE) Qlik ici : https://github.com/qlik-oss/server-side-extension.

Fonctions de script

Il existe huit variations de fonction de script. Dans le script de chargement, elles doivent toutes se comporter de la même manière, mais, dans ce scénario, on utilise généralement ScriptEval.

L'utilisation dans le script de chargement de LOAD * EXTENSION adopte une approche de type entrée de table/sortie de table et déduit les types de données corrects des définitions et métadonnées de tables internes.

Lors de l'utilisation de ces fonctions sous forme d'expressions de graphique, la fonction utilisée est importante et changera considérablement les résultats et les performances de la requête.

ScriptEval ou ScriptAggr

Il existe deux groupes de fonctions de script, ScriptEval et ScriptAggr :

ScriptEval : après l'agrégation de l'hypercube, toutes les lignes des colonnes spécifiées sont envoyées au connecteur SSE. La réponse prévue est une seule colonne. En cas de renvoi de plusieurs colonnes, la première colonne contenant le même nombre de lignes que l'entrée est sélectionnée. Les lignes de la colonne renvoyée doivent se présenter dans le même ordre que celui de l'entrée.

ScriptAggr : avant l'agrégation de l'hypercube, toutes les lignes d'un seul groupe de dimensions de l'hypercube sont envoyées et SSE doit renvoyer une réponse d'une seule colonne d'une seule ligne. Une requête sera envoyée à SSE pour chaque valeur de dimension. Même s'il existe des cas d'utilisation de cette méthode, il est rare qu'elle soit utilisée, car elle peut générer des problèmes de performances si la fonction ScriptAggr est appelée avec un grand nombre de valeurs de dimension.

Types de données

Il existe quatre variations de requête qui spécifient les combinaisons de types de données d'entrée et de sortie :

  • ScriptEval(Script, Field 1, [Field n]) : Dans cet exemple, les champs d'entrée doivent tous être numériques et la réponse doit être numérique.

  • ScriptEvalStr(Script, Field 1, [Field n]) : Dans cet exemple, les champs d'entrée doivent tous être des chaînes et la réponse doit être une chaîne.

  • ScriptEvalEx(DataTypes, Script, Field 1, [Field n]) : Dans cet exemple, les champs d'entrée peuvent être numériques ou des chaînes, mais le premier paramètre est une chaîne des types de données et la réponse doit être numérique.

  • ScriptEvalExStr(DataTypes, Script, Field 1, [Field n]) : Dans cet exemple, les champs d'entrée peuvent être numériques ou des chaînes, mais le premier paramètre est une chaîne des types de données et la réponse doit être une chaîne.

Le paramètre DataTypes est une chaîne de caractères S et N dans l'ordre des champs.

Exemples

 

Script qui additionne deux champs numériques :

ScriptEval('Script',num1,num2)

 

Script qui concatène deux chaînes :

ScriptEvalStr('Script',str1,str2)

 

Script qui prédit une probabilité (un nombre) avec un mélange d'entrée numériques et de type chaîne :

ScriptEvalEx('SSNN','Script',str1, str2, num1, num2)

 

Script qui prédit une classification (une chaîne) avec un mélange d'entrée numériques et de type chaîne :

ScriptEvalExStr('SSNN','Script',str1, str2, num1, num2)