El procesador Script de Qlik
Crea o transforma entradas utilizando script de Qlik.
El procesador Script de Qlik le permite introducir directamente script de Qlik en un editor de texto para preparar datos o cargarlos cuando se utilizan como entrada. Dirigido a usuarios más avanzados, puede beneficiarse de toda la sintaxis de Qlik si prefiere codificar manualmente ciertas operaciones al manipular tablas.
Uso
-
Para utilizar el procesador Script en un flujo de datos, el código que añada en el editor debe ser coherente con el esquema de los datos entrantes y las acciones de preparación que se hayan realizado hasta ese momento. Además, el script debe seguir ciertas reglas:
-
El script debe contener una sentencia resident para utilizar la tabla procedente del flujo de entrada.
resident tablename
Para más información, consulte Load.
-
Debe incluir una sentencia en NoConcatenate.
NoConcatenate LOAD A,B
Para más información, consulte NoConcatenate.
-
Después de añadir el script para la operación específica que desea realizar, debe incluir una sentencia drop table al final para eliminar la tabla entrante y conservar solo la salida generada.
drop table tablename
Para más información, consulte Drop table.
- Cuando utilice el procesador como nodo de entrada, puede tener un máximo de dos flujos de salida, para cargar dos tablas diferentes.
- Cuando utilice el procesador como nodo intermediario, puede tener varios flujos de entrada y un máximo de dos flujos de salida.
Propiedades
Propiedad | Configuración |
---|---|
Script |
Introduzca su script de Qlik en el editor de texto que incluye el siguiente marcador de posición con las sentencias requeridas.
Los nombres de sus tablas de entrada aparecen encima del editor de script.Se corresponden con las entradas conectadas al procesador. |
Para cambiar el nombre del procesador o editar su descripción, haga clic en el icono Editar situado junto al nombre del procesador en el panel Propiedades.
Ejemplos
-
Cargar varias tablas con el mismo esquema, en una sola entrada para su flujo de datos. Este ejemplo utiliza dos archivos .txt de su catálogo, con los cuatro mismos campos, pero con un contenido diferente:
[MyTable_1]: NOCONCATENATE LOAD [id], [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_1.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); //[MyTable_2]: CONCATENATE([MyTable_1]) LOAD [id], [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_2.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); [Union1]: NOCONCATENATE LOAD DISTINCT [id], [firstname], [lastname], [nationality] RESIDENT [MyTable_1];
Como alternativa, puede realizar la misma operación, pero esta vez añadiendo un campo para rastrear qué datos proceden de qué tabla y generando un número entero como número de identificación:
[MyTable_1]: NOCONCATENATE LOAD 'table1' as source_table, [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_1.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); [MyTable_2]: CONCATENATE (MyTable_1) LOAD 'table2' as source_table, [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_2.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); [NewTable]: LOAD recno() as id, * RESIDENT MyTable_1; drop table MyTable_1;
Para más información, consulte Concatenate.
-
Cree una tabla inline con datos editables como entrada para su flujo de datos:
MyTable: Load * Inline [ Country, Year, Sales Argentina, 2014, 66295.03 Argentina, 2015, 140037.89 Austria, 2014, 54166.09 Austria, 205,182739.87 ];
Para más información, consulte Uso de cargas inline para cargar datos.
-
Añada un nuevo campo a sus datos:
MyTable: NoConcatenate Load *, 1 as newfield Resident [name of input table]; Drop Table [name of input table];
Para ver más ejemplos de expresiones de script, consulte Sentencias regulares y Funciones de script y de gráfico.