Gå till huvudinnehåll Gå till ytterligare innehåll

Qlik-skript-processor

Skapar eller transformerar indata med Qlik-skript.

Med Qlik-skript-processorn kan du direkt ange Qlik-skript i en textredigerare för att förbereda data eller läsa in data när de används som indata. Den riktar sig till mer avancerade användare och du kan dra nytta av hela Qlik-syntaxen om du föredrar att koda vissa operationer manuellt när du manipulerar tabeller.

Användning

  • För att kunna använda Skript-processorn i ett dataflöde måste den kod som du lägger till i redigeraren överensstämma med schemat för inkommande data och de förberedelser som har utförts fram till denna datapunkt. Skriptet måste också följa vissa regler:

    • Skriptet måste innehålla en resident-sats för att använda tabellen som kommer från indataflödet.

      resident tablename

      Se Läs in för mer information.

    • Du måste inkludera en NoConcatenate-sats.

      NoConcatenate LOAD A,B

      Se NoConcatenate för mer information.

    • När du har lagt till skriptet för den specifika operation som du vill utföra måste du inkludera en drop table-sats i slutet för att släppa den inkommande tabellen och bara behålla genererad utdata.

      drop table  tablename

      Se Ta bort tabell för mer information.

  • När du använder processorn som indatanod kan du ha max två utflöden för att ladda två olika tabeller.
  • När processorn används som mellannod kan du ha flera ingångsflöden och max två utgångsflöden.

Egenskaper

Konfiguration
Egenskap Konfiguration
Skript

Skriv in ditt Qlik-skript i textredigeraren som innehåller följande platshållare med de obligatoriska satserna.

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

Namnen på dina indatatabeller visas ovanför skriptredigeraren. De motsvarar de ingångar som är kopplade till processorn.

Om du vill byta namn på processorn eller redigera dess beskrivning klickar du på ikonen Redigera Redigera bredvid processornamnet i panelen Egenskaper.

Exempel

  • Ladda flera tabeller med samma schema, till en inmatning för ditt flöde. I det här exemplet används två .txt-filer från din katalog, med samma fyra fält, men med olika innehåll:

    [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];

    Du kan också utföra samma åtgärd, men istället lägga till ett fält för att spåra vilka data som kommer från vilken tabell och generera ett heltal som id-nummer:

    [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;

    Se Concatenate för mer information.

  • Skapa en inline-tabell med redigerbara data som indata för ditt flöde:

    MyTable:
    Load * Inline [
    Country, Year, Sales
    Argentina, 2014, 66295.03
    Argentina, 2015, 140037.89
    Austria, 2014, 54166.09
    Austria, 205,182739.87
    ];
    

    Se Använda inline-laddningar för att ladda data för mer information.

  • Lägg till ett nytt fält i dina data:

    MyTable:
    NoConcatenate Load *, 1 as newfield
    Resident [name of input table];
    Drop Table [name of input table];
  • Fler exempel på skriptuttryck finns i Vanliga satser och Skript- och diagramfunktioner.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!