Saltar al contenido principal Saltar al contenido complementario

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

Configuración
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.

MyTable:
NoConcatenate Load *
Resident [name of input table];
Drop Table [name of input table];

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 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.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.