Saltar al contenido principal

Expresiones de script

EN ESTA PÁGINA

Expresiones de script

Las expresiones se pueden utilizar tanto en sentencias LOAD como en sentencias SELECT. La sintaxis y las funciones aquí descritas se aplican a la sentencia LOAD, y no a la sentencia SELECT, ya que esta última es interpretada por el controlador ODBC y no por Qlik Sense. No obstante, la mayoría de controladores ODBC suelen ser capaces de interpretar una serie de funciones descritas a continuación.

Las expresiones se componen de funciones, campos y operadores, combinados en una sintaxis.

Todas las expresiones de un script de Qlik Sense devuelven un número y/o una cadena, según corresponda. Las funciones lógicas y los operadores devuelven 0 para False y -1 para True. Las conversiones de número a cadena y viceversa están implícitas. Los operadores lógicos y las funciones interpretan 0 como False y todo lo demás como True.

La sintaxis general para una expresión es la siguiente:

Sintaxis general
Expresión Campos Operador
expression ::= (constant constant |
expression ::= (constant fieldref |
expression ::= (constant operator1 expression |
expression ::= (constant expression operator2 expression |
expression ::= (constant function |
expression ::= (constant ( expression ) )

donde:

  • constant es una cadena (un texto, una fecha o una hora) entre comillas simples o un número. Las constantes se escriben sin separadores de miles y con un punto decimal como separador decimal.
  • fieldref es un nombre de campo de la tabla cargada.
  • operator1 es un operador unitario (que funciona en una expresión, la de la derecha).
  • operator2 es un operador binario (que funciona en dos expresiones, una a cada lado).
  • function ::= functionname( parameters)
  • parameters ::= expression { , expression }

El número y los tipos de parámetros no son aleatorios. Dependen de la función empleada.

Las expresiones y funciones pueden por tanto anidarse libremente, y siempre y cuando la expresión devuelva un valor interpretable, Qlik Sense no emitirá ningún mensaje de error.