Ir para conteúdo principal

Sintaxe das extensões no lado do servidor

NESTA PÁGINA

Sintaxe das extensões no lado do servidor

Uma visão geral do Qlik Server Side Extensions (SSE) pode ser encontrada aqui: https://github.com/qlik-oss/server-side-extension.

Funções de script

Existem oito variações de funções de script. No script de carregamento, todos eles devem se comportar da mesma forma, mas é comum usar ScriptEval neste cenário.

O uso do script de carregamento LOAD * EXTENSION opera em uma abordagem de tabela em tabela e infere os tipos de dados corretos a partir das definições e metadados da tabela interna.

Ao usar essas funções como expressões de gráfico, a função usada é importante e terá uma diferença significativa nos resultados e no desempenho da solicitação.

ScriptEval vs ScriptAggr

Existem dois conjuntos de funções de script, ScriptEval e ScriptAggr:

ScriptEval: após o hipercubo ter sido agregado, todas as linhas nas colunas especificadas são enviadas para o conector SSE. A resposta esperada é uma única coluna. Se várias colunas forem retornadas, a primeira coluna com o mesmo número de linhas da entrada será selecionada. As linhas na coluna retornada devem estar na mesma ordem da entrada.

ScriptAggr: antes de o hipercubo ser agregado, todas as linhas para um único grupo de dimensão no hipercubo são enviadas, e o SSE deve retornar uma única resposta de 1 coluna, 1 linha. Haverá uma solicitação enviada ao SSE para cada valor de dimensão. Embora existam casos de uso para isso, é raro que esse método seja usado, pois pode criar problemas de desempenho se ScriptAggr for chamado com um grande número de valores de dimensão

Tipos de dados

Existem quatro variações das solicitações que especificam as combinações de tipo de dados de entrada e saída:

  • ScriptEval(Script, Field 1, [Field n]): Neste exemplo, os campos de entrada devem ser todos numéricos, e a resposta deve ser numérica.

  • ScriptEvalStr(Script, Field 1, [Field n]): Neste exemplo, os campos de entrada devem ser todos string, e a resposta deve ser string.

  • ScriptEvalEx(DataTypes, Script, Field 1, [Field n]): Neste exemplo, os campos de entrada podem ser string ou numéricos. Porém, o primeiro parâmetro é uma string dos tipos de dados e a resposta deve ser numérica.

  • ScriptEvalExStr(DataTypes, Script, Field 1, [Field n]): Neste exemplo, os campos de entrada podem ser string ou numéricos. Porém, o primeiro parâmetro é uma string dos tipos de dados e a resposta deve ser string.

O parâmetro DataTypes é uma string em caracteres S e N na ordem dos campos.

Exemplos

Exemplo:  

Um script que adiciona 2 campos numéricos:

ScriptEval('Script',num1,num2)

Exemplo:  

Um script que concatena 2 strings:

ScriptEvalStr('Script',str1,str2)

Exemplo:  

Um script que prevê uma probabilidade (número) com uma mistura de string e entradas numéricas:

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

Exemplo:  

Um script que prevê uma classificação (string) com uma mistura de string e entradas numéricas:

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