Sentencias habituales de script
Las sentencias más comunes se utilizan habitualmente para manipular datos de varias formas. Estas sentencias pueden escribirse sobre cualquier número de filas en el script y deben terminar siempre en punto y coma ";".
Todas las palabras clave del script pueden escribirse con cualquier combinación de caracteres en mayúscula o minúscula. Los nombres de campo y de variable utilizados en las sentencias, por supuesto, son sensibles a mayúsculas.
Utilice el desplegable de cada función para ver una breve descripción y la sintaxis de cada función. Haga clic en el nombre de la función en la descripción de la sintaxis si desea más detalles.
La sentencia alias se utiliza para establecer un alias según el cual un campo se renombrará cada vez que aparezca en adelante en el script.
Alias fieldname as aliasname {,fieldname as aliasname}
Esta sentencia crea un valor entero único por cada valor distinto evaluado en un campo hallado durante la ejecución de script.
Autonumber fields [Using namespace] ]
La sentencia binary se utiliza para cargar los datos desde otro documento QlikView, incluidos los datos de Section access.
Binary [path] filename
Ofrece una forma de mostrar los comentarios del campo (metadatos) desde bases de datos y hojas de cálculo. Los nombres de campo que no estén presentes en la app se ignorarán. Si hubiera múltiples nombres de un mismo campo, se empleará el último valor.
comment *fieldlist using mapname
comment fieldname with comment
Ofrece una forma de mostrar los comentarios de una tabla (metadatos) desde bases de datos u hojas de cálculo.
comment-table tablelist using mapname
comment-table tablename with comment
La sentencia CONNECT se utiliza para definir el acceso de Qlik Sense a una base de datos general mediante la interfaz OLE DB/ODBC. Para ODBC, primero se debe especificar la fuente de datos utilizando el administrador ODBC.
ODBC CONNECT TO connect-string [ ( access_info ) ]
OLEDB CONNECT TO connect-string [ ( access_info ) ]
CUSTOM CONNECT TO connect-string [ ( access_info ) ]
LIB CONNECT TO connection
La sentencia Declare se utiliza para crear definiciones de campos, donde puede definir relaciones entre campos o funciones. Un conjunto de definiciones de campos puede servir para generar automáticamente campos derivados, los cuales se pueden utilizar como dimensiones. Por ejemplo, podemos crear una definición de calendario y utilizarla para generar dimensiones relacionadas, como por ej. año, mes, semana y día, a partir de un campo fecha.
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
[Groups group_list ]
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
La sentencia Derive se utiliza para generar campos derivados basados en una definición de campo creada con una sentencia Declare. Puede especificar para qué campos de datos derivar campos, o bien derivarlos explícita o implícitamente basándose en etiquetas de campos.
Derive [Field[s]] From [Field[s]] field_list Using definition
Derive [Field[s]] From Explicit [Tag[s]] (tag_list) Using definition
Derive [Field[s]] From Implicit [Tag[s]] Using definition
La sentencia DIRECT QUERY permite enlazar tablas mediante una conexión ODBC u OLE DB, usando la función Direct Discovery.
direct-query [path]
La sentencia Directory define qué directorio buscar en los archivos de datos en sentencias LOAD posteriores, hasta que se haga una nueva sentencia Directory.
Directory [path]
La sentencia Disconnect pone fin a la conexión ODBC/OLE DB/personalizada. Esta sentencia es opcional.
Se puede eliminar uno o varios campos Qlik Sense del modelo de datos y, por lo tanto, de la memoria, en cualquier momento durante la ejecución de script, mediante una sentencia drop field.
drop-field fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
drop fields fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
Se pueden eliminar una o varias tablas internas de Qlik Sense del modelo de datos y por tanto de la memoria, en cualquier momento durante la ejecución del script, mediante una sentencia drop table.
drop-table tablename [, tablename2 ...]
drop tables[ tablename [, tablename2 ...]
La sentencia Execute se utiliza para ejecutar otros programas a la vez que Qlik Sense está cargando datos. Por ejemplo, para hacer las conversiones que sean necesarias.
Execute commandline
La sentencia FlushLog obliga a Qlik Sense a escribir el contenido del búfer de script en el archivo de registro de script.
La sentencia force obliga a Qlik Sense a interpretar los nombres de campo y valores de campo de las sentencias LOAD y SELECT posteriores como escritas solo con letras mayúsculas, solo con letras minúsculas, como suelen ir siempre o tal como aparecen (una combinación de ambas). Esta sentencia permite asociar valores de campo de tablas según distintas convenciones.
Force ( capitalization | case upper | case lower | case mixed )
La sentencia LOAD carga campos desde un archivo, desde datos definidos en el script, desde una tabla previamente cargada, desde una página web, desde el resultado de una sentencia SELECT posterior, o generando los datos automáticamente. También se puede cargar datos desde conexiones analíticas.
Load [ distinct ] *fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]
inline data [ format-spec ] |
resident table-label |
autogenerate size )]
[ where criterion | while criterion ]
[ group_by groupbyfieldlist ]
[order_by orderbyfieldlist ]
[extension pluginname.functionname(tabledescription)]
La sentencia let es un complemento a la sentencia set, utilizada para definir variables de script. La sentencia let, al contrario que la sentencia set, evalúa la expresión a la derecha del signo "=" en tiempo de ejecución de script antes de que se asigne a la variable.
Let variablename=expression
Una o más tablas de datos internas de Qlik Sense se pueden declarar como parcialmente desconectadas durante la ejecución del script mediante el uso de una sentencia Loosen Table. Cuando una tabla está parcialmente desconectada, todas las asociaciones entre los valores de campo de la tabla se eliminan. Se puede obtener un efecto similar cargando cada campo de la tabla parcialmente desconectada como tablas independientes, no conectadas. La desconexión parcial puede ser útil durante las pruebas para aislar temporalmente distintas partes de la estructura de datos. Una tabla parcialmente desconectada se identifica en el visor de tablas por las líneas de puntos. El uso de una o más sentencias Loosen Table en el script hará que Qlik Sense no tenga en cuenta cualquier configuración de tablas parcialmente desconectadas antes de la ejecución del script.
tablename [ , tablename2 ...]
Loosen Tables tablename [ , tablename2 ...]
La sentencia map ... using se utiliza para asignar un determinado valor de campo o expresión a los valores de una tabla de correspondencia específica. La tabla de correspondencia se crea mediante la sentencia Mapping.
Map *fieldlist Using mapname
La sentencia NullAsNull deshabilita la conversión de valores NULL a valores de cadena previamente establecidos por una sentencia NullAsValue.
NullAsNull *fieldlist
La sentencia NullAsValue especifica para qué campos debería convertirse NULL en un valor.
NullAsValue *fieldlist
La sentencia Qualify se utiliza para activar la calificación de los nombres de campo, es decir, los nombres de campo obtendrán el nombre de la tabla como un prefijo.
Qualify *fieldlist
La sentencia rem se utiliza para insertar comentarios u observaciones en el script o para desactivar temporalmente las sentencias del script sin eliminarlas.
Rem string
Esta función de script renombra uno o varios campos de Qlik Sense tras haberlos cargado.
rename-field (using mapname | oldname to newname{ , oldname to newname })
Rename Fields (using mapname | oldname to newname{ , oldname to newname })
Esta función de script renombra una o varias tablas internas de Qlik Sense tras haberlas cargado.
rename-table (using mapname | oldname to newname{ , oldname to newname })
Rename Tables (using mapname | oldname to newname{ , oldname to newname })
Con la sentencia section, es posible definir si las sentencias LOAD y SELECT posteriores deberían considerarse como datos o como una definición de los derechos de acceso.
Section (access | application)
La selección de campos desde una fuente de datos ODBC o proveedor OLE DB se realiza mediante sentencias SQL SELECT estándar. No obstante, si las sentencias SELECT se aceptan depende del controlador ODBC o proveedor OLE DB utilizado.
Select [all | distinct | distinctrow | top n [percent] ] *fieldlist
From tablelist
[Where criterion ]
[Group by fieldlist [having criterion ] ]
[Order by fieldlist [asc | desc] ]
[ (Inner | Left | Right | Full)Join tablename on fieldref = fieldref ]
La sentencia set se utiliza para definir variables de script. Éstas pueden servir para sustituir cadenas, rutas, unidades de disco, etc.
Set variablename=string
La sentencia sleep pausa la ejecución del script por un tiempo especificado.
Sleep n
La sentencia SQL permite enviar un comando arbitrario SQL a través de una conexión ODBC u OLE DB.
SQL sql_command
La sentencia sqlcolumns devuelve un conjunto de campos que describen las columnas de una fuente de datos ODBC o OLE DB, a las que se ha realizado un connect.
La sentencia sqltables devuelve un conjunto de campos que describen las tablas de una fuente de datos ODBC o OLE DB, a las que se ha realizado un connect.
La sentencia sqltypes devuelve un conjunto de campos que describen los tipos de una fuente de datos ODBC o OLE DB, a los que se ha realizado un connect.
La cadena utilizada para representar el conjunto de todos los valores de un campo en la base de datos se puede establecer mediante la sentencia star. Afecta a las sentencias LOAD y SELECT subsiguientes.
Star is [ string ]
La instrucción Store crea un archivo QVD o text.
Store [ *fieldlist from] table into filename [ format-spec ];
Esta sentencia de script proporciona una forma de asignar etiquetas a uno o más campos o tablas. Si se intenta etiquetar un campo o una tabla que no está presente en la app, se ignorará el etiquetado. Si hubiera múltiples nombres de un mismo campo o etiqueta, se empleará el último valor.
Tag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname
La sentencia trace escribe una cadena en la ventana de Progreso de ejecución de script y en el archivo de registro de script, cuando se utiliza. Es muy útil cuando se desea efectuar una depuración. Utilizando expansiones $ de variables que se calculan antes de la sentencia trace, puede personalizar el mensaje.
Trace string
La sentencia Unmap desactiva la asignación de valores de campo especificada por una sentencia Map … Using anterior para los campos cargados posteriormente.
Unmap *fieldlist
La sentencia Unqualify se utiliza para desactivar la calificación de los nombres de campo que la sentencia Qualify activó previamente.
Unqualify *fieldlist
Esta sentencia de script proporciona una manera de eliminar etiquetas de campos o tablas. Si se intenta eliminar la etiqueta de un campo o una tabla que no está presente en la app, se ignorará la eliminación de la etiqueta.
Untag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname