Keep
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.
Sintaxis:
(inner | left | right) keep [(tablename ) ]( loadstatement | selectstatement )
El prefijo keep debe ir precedido por uno de los prefijos inner, left o right.
El prefijo explícito join en el lenguaje de script de Qlik Sense realiza una unión completa (full join) de las dos tablas. El resultado es una sola tabla. En muchos casos los joins dan como resultado unas tablas muy grandes. Una de las principales características de Qlik Sense es su capacidad de hacer asociaciones entre múltiples tablas en lugar de unirlas (mediante join). Esto permite ahorrar mucho espacio en la memoria e incrementar la velocidad de procesamiento, lo que se traduce en una enorme flexibilidad. Los joins explícitos deben evitarse por lo general en los scripts de Qlik Sense. La funcionalidad keep se ha diseñado para reducir el número de casos en los que se tengan que usar joins explícitos.
Argumentos:
Argumento | Descripción |
---|---|
tablename | Tabla designada que debe compararse con la tabla cargada. |
loadstatement o selectstatement | La sentencia LOAD o SELECT para la tabla cargada. |
Ejemplo:
Inner Keep LOAD * from abc.csv;
Left Keep SELECT * from table1;
tab1:
LOAD * from file1.csv;
tab2:
LOAD * from file2.csv;
.. .. ..
Left Keep (tab1) LOAD * from file3.csv;