Prefijos de script
La aplicación de prefijos es posible con sentencias habituales, pero nunca con las sentencias de control. Los prefijos when y unless pueden usarse no obstante como sufijos para algunas cláusulas de control específicas.
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.
El prefijo Add se puede añadir a cualquier sentencia LOAD o SELECT en el script para especificar que debe agregar registros a otra tabla. También especifica que esta sentencia debe ejecutarse en una carga parcial. El prefijo Add también se puede usar en una sentencia Map.
Add [only] [Concatenate[(tablename )]] (loadstatement | selectstatement)
Add [ Only ] mapstatement
Los archivos QVD se pueden crear y mantener automáticamente a través del prefijo buffer. Este prefijo se puede utilizar en la mayoría de las sentencias LOAD y SELECT de scripts. Indica que los archivos QVD se utilizan para almacenar en caché/búfer el resultado de la sentencia.
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Si dos tablas que deben concatenarse tienen diferentes conjuntos de campos, aún puede forzarse su concatenación mediante el prefijo Concatenate.
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
El prefijo de carga crosstable se utiliza para transponer datos estructurados de una "tabla cruzada" o "tabla pivotante". Los datos estructurados de esta manera se encuentran habitualmente cuando se trabaja con fuentes de hojas de cálculo. El resultado y el objetivo del prefijo de carga crosstable es transponer dichas estructuras en un equivalente de tabla normal orientada a columnas, ya que esta estructura generalmente es más adecuada para el análisis en Qlik Sense.
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
El prefijo First en una sentencia LOAD o SELECT (SQL) se usa para cargar un número máximo definido de registros desde una tabla de origen de datos.
First n( loadstatement | selectstatement )
El prefijo de carga Generic permite la conversión de datos modelados de entidad-atributo-valor (EAV) en una estructura de tabla relacional normalizada tradicional. El modelado EAV se denomina alternativamente "modelado de datos genéricos" o "esquema abierto".
Generic ( loadstatement | selectstatement )
El prefijo hierarchy se utiliza para transformar una tabla jerárquica padre-hijo en una tabla que sea útil en un modelo de datos Qlik Sense. Se puede poner frente a una sentencia LOAD o SELECT y usará el resultado de la sentencia de carga como entrada para una transformación de tabla.
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
Este prefijo se utiliza para transformar una tabla jerárquica padre-hijo en una tabla que sea útil en un modelo de datos Qlik Sense. Se puede poner frente a una sentencia LOAD o SELECT y usará el resultado de la sentencia de carga como datos de entrada para una transformación de tabla.
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
Los prefijos join y keep pueden ir precedidos por el prefijo inner.
Si se utiliza antes de join especifica que debería usarse un inner join. La tabla resultante contendrá por tanto combinaciones de valores de campo de las dos tablas originales donde los valores de campos de enlace se representan en ambas tablas. Si se utiliza antes de keep, especifica que ambas tablas de datos sin procesar deberán reducirse a su intersección común antes de ser almacenadas en Qlik Sense.
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
El prefijo IntervalMatch se utiliza para crear una tabla que coincida con valores numéricos discretos con uno o más intervalos numéricos y, opcionalmente, que coincida con los valores de una o varias claves adicionales.
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
El prefijo join une la tabla cargada con una tabla existente o con la última tabla de datos creada.
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
El prefijo keep es similar al prefijo join. Al igual que el prefijo join, compara la tabla cargada con una tabla ya existente o con la última tabla de datos creada anteriormente, pero en lugar de unir la tabla cargada con una tabla existente, tiene el efecto de reducir una o ambas tablas antes de que se almacenen en Qlik Sense, en función de la intersección de datos de la tabla. La comparación final equivale a aplicar un join natural entre todos los campos comunes. La diferencia está en que las dos tablas no se unen, sino que se almacenan en Qlik Sense como dos tablas independientes de distinto nombre.
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Los prefijos Join y Keep pueden ir precedidos por el prefijo left.
Si se usan antes de join especifica que deberá usarse un left join. La tabla resultante solo contendrá combinaciones de valores de campo de las tablas iniciales donde los valores de campos de enlace se representan en la primera tabla. Si se usa antes de keep, especifica que la segunda tabla de datos sin procesar debe reducirse a su intersección común con la primera tabla, antes de ser almacenada en Qlik Sense.
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
El prefijo mapping se utiliza para crear una tabla de correspondencia que se puede usar, por ejemplo, para reemplazar valores de campo y nombres de campo durante la ejecución de script.
Mapping ( loadstatement | selectstatement )
El prefijo Merge se puede añadir a cualquier sentencia LOAD o SELECT en el script para especificar que la tabla cargada debe fusionarse en otra tabla. También especifica que esta sentencia debe ejecutarse en una carga parcial.
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
El prefijo NoConcatenate obliga a que dos tablas cargadas con conjuntos de campos idénticos se traten como dos tablas internas separadas, cuando de lo contrario se concatenarían automáticamente.
NoConcatenate( loadstatement | selectstatement )
El prefijo explícito Join puede ir precedido por el prefijo Outer para especificar un outer join. En un outer join se generan todas las combinaciones entre las dos tablas. La tabla resultante contendrá por tanto combinaciones de valores de campo de las dos tablas originales donde los valores de campos de enlace se representan en una o ambas tablas. La palabra clave Outer es opcional y es el tipo de unión predeterminado que se usa cuando no se especifica un prefijo join.
Outer Join [ (tablename) ](loadstatement |selectstatement )
Una carga completa siempre comienza eliminando todas las tablas en el modelo de datos existente y luego ejecuta el script de carga.
Una carga parcial Carga parcial no hace esto. En su lugar, mantiene todas las tablas en el modelo de datos y después ejecuta solo las sentencias Load y Select precedidas por un prefijo Add, Merge o Replace. Otras tablas de datos no se ven afectadas por el comando. El argumento only indica que la sentencia debe ejecutarse solo durante cargas parciales y debe ignorarse durante cargas completas. La tabla siguiente resume la ejecución de instrucciones para cargas parciales y completas.
El prefijo Replace se puede añadir a cualquier sentencia LOAD o SELECT en el script para especificar que la tabla cargada debe reemplazar a otra tabla. También especifica que esta sentencia debe ejecutarse en una carga parcial. El prefijo Replace también se puede usar en una sentencia Map.
Replace [only] [Concatenate[(tablename) ]] (loadstatement | selectstatement)
Replace [only] mapstatement
Los prefijos Join y Keep pueden ir precedidos por el prefijo right.
Si se usa antes de join, especifica que se debe usar un right join. La tabla resultante contendrá solo combinaciones de valores de campo de las dos tablas donde los valores de campos de enlace se representan en la segunda tabla. Si se usa antes de keep, especifica que la primera tabla de datos sin procesar debe reducirse a su intersección común con la segunda tabla antes de ser almacenada en Qlik Sense.
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
El prefijo sample para una sentencia LOAD o SELECT se utiliza para cargar una muestra aleatoria de registros desde el origen de datos.
Sample p ( loadstatement | selectstatement )
Las tablas que contienen relaciones entre registros se pueden cargar mediante un prefijo semantic. Pueden ser por ejemplo referencias dentro de una tabla, donde un registro apunte a otro, como por ej. a un predecesor o antepasado.
Semantic ( loadstatement | selectstatement)
El prefijo y sufijo unless se utiliza para crear una cláusula condicional que determina si una sentencia o cláusula de salida debería evaluarse o no. Puede verse como una alternativa compacta a la sentencia if..end if completa.
(Unless condition statement | exitstatement Unless condition )
El prefijo y sufijo when se utiliza para crear una cláusula condicional que determina si una sentencia o cláusula de salida debería ejecutarse o no. Puede verse como una alternativa compacta a la sentencia if..end if completa.
( When condition statement | exitstatement when condition )