Vai al contenuto principale

Sintassi delle estensioni lato server

IN QUESTA PAGINA

Sintassi delle estensioni lato server

Una panoramica delle estensioni lato server (SSE, Server Side Extensions) di Qlik è contenuta qui: https://github.com/qlik-oss/server-side-extension.

Funzioni negli script

Sono presenti otto variazioni delle funzioni negli script. Nello script di caricamento, si comportano tutte nello stesso modo, ma risulta tipico l'utilizzo di ScriptEval in questo scenario.

L'utilizzo dello script di caricamento LOAD * EXTENSION avviene in base a un approccio rivolto alla singola tabella e inferisce i tipi di dati corretti dalle definizioni e dai metadati della tabella interna.

Quando si utilizza tali funzioni come espressioni del grafico, la funzione utilizzata è importante e dovrà avere una differenza significativa nei risultati e nelle prestazioni della richiesta.

ScriptEval vs ScriptAggr

Sono presenti due set di funzioni script, ScriptEval e ScriptAggr:

ScriptEval: dopo l'aggregazione dell'ipercubo, tutte le righe nelle colonne specificate vengono inviate al connettore SSE. La risposta prevista è una colonna singola. Se vengono restituite più colonne, verrà scelta la prima colonna che presenta lo stesso numero di righe come input. Le righe nella colonna restituita devono essere nello stesso ordine dell'input.

ScriptAggr: prima dell'aggregazione dell'ipercubo, tutte le righe per un gruppo a dimensione singola nell'ipercubo vengono inviate e si prevede che l'SSE restituisca una risposta singola 1 colonna, 1 riga. Ci sarà una richiesta inviata a SSE per ciascun valore di dimensione. Pur essendovi casi di utilizzo, l'utilizzo di questo metodo è raro, dato che può creare problemi di prestazioni se ScriptAggr viene richiamato con un gran numero di valori di dimensioni

Tipi di dati

Ci sono quattro variazioni delle richieste, che specificano le combinazioni dei tipi di dati di input e output:

  • ScriptEval(Script, Field 1, [Field n]): In questo esempio, i campi di input devono essere tutti numerici, inclusa la risposta.

  • ScriptEvalStr(Script, Field 1, [Field n]): In questo esempio, i campi di input devono essere tutti stringhe, inclusa la risposta.

  • ScriptEvalEx(DataTypes, Script, Field 1, [Field n]): In questo esempio, i campi di input possono essere stringhe o numerici, tuttavia il primo parametro è una stringa dei tipi di dati e la risposta deve essere numerica.

  • ScriptEvalExStr(DataTypes, Script, Field 1, [Field n]): In questo esempio, i campi di input possono essere stringhe o numerici, tuttavia il primo parametro è una stringa dei tipi di dati e la risposta deve essere una stringa.

Il parametro DataTypes è una stringa sui caratteri S e N nell'ordine dei campi.

Esempi

Esempio:  

Uno script che aggiunge 2 campi numerici:

ScriptEval('Script',num1,num2)

Esempio:  

Uno script che concatena 2 stringhe:

ScriptEvalStr('Script',str1,str2)

Esempio:  

Uno script che prevede una probabilità (numero) con una serie di input di stringhe e numerici.

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

Esempio:  

Una stringa che prevede una classificazione (stringa) con una serie di input di stringhe e numerici:

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