Qlik script-processor | Qlik Cloud Help
Ga naar hoofdinhoud Ga naar aanvullende inhoud

Qlik script-processor

Maakt of transformeert invoer met behulp van een Qlik script.

De Qlik script-processor stelt u in staat om direct een Qlik script in te voeren in een teksteditor om gegevens voor te bereiden, of gegevens te laden wanneer deze als invoer worden gebruikt. Gericht op meer geavanceerde gebruikers, kunt u profiteren van de volledige Qlik-syntaxis als u de voorkeur geeft aan het handmatig coderen van bepaalde bewerkingen bij het manipuleren van tabellen.

Gebruik

  • Om de Script-processor in een gegevensstroom te gebruiken, moet de code die u in de editor toevoegt consistent zijn met het schema van de inkomende gegevens en de voorbereidingsacties die tot dit punt zijn uitgevoerd. Bovendien moet het script bepaalde regels volgen:

    • Het script moet een resident-instructie bevatten om de tabel uit de invoerstroom te gebruiken.

      resident tablename

      Voor meer informatie, zie Load.

    • U moet een NoConcatenate-instructie opnemen.

      NoConcatenate LOAD A,B

      Voor meer informatie, zie NoConcatenate.

    • Na het toevoegen van het script voor de specifieke bewerking die u wilt uitvoeren, moet u aan het einde een drop table-instructie opnemen om de inkomende tabel te verwijderen en alleen de gegenereerde uitvoer te behouden.

      drop table  tablename

      Voor meer informatie, zie Drop table.

  • Wanneer u de processor als invoerknooppunt gebruikt, kunt u maximaal twee uitvoerstromen hebben om twee verschillende tabellen te laden.
  • Wanneer u de processor als tussenliggend knooppunt gebruikt, kunt u meerdere invoerstromen en maximaal twee uitvoerstromen hebben.
  • U kunt maximaal 50 Qlik script-processors in een gegevensstroom gebruiken.
WaarschuwingOm fouten in uw gegevensstroom te voorkomen, moet u ervoor zorgen dat de tabelnamen die door de Script-processor worden gegenereerd uniek zijn en verschillen van tabellen die door andere processors in uw stroom worden gegenereerd.

Eigenschappen

Configuratie
Eigenschap Configuratie
Script

Voer uw Qlik script in de teksteditor in die de volgende tijdelijke aanduiding met de vereiste instructies bevat.

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

De namen van uw invoertabellen worden boven de scripteditor weergegeven. Ze komen overeen met de invoer die op de processor is aangesloten. Klik op een tabelnaam om deze direct in het script in te voegen.

Om de processor te hernoemen of de beschrijving ervan te bewerken, wijst u met uw muis de naam of beschrijving aan die u wilt wijzigen in het paneel Eigenschappen en klikt u op het pictogram Bewerken Bewerken.

De beknopte weergave gebruiken

In het paneel aan de rechterkant kunt u snelle updates aan de processor uitvoeren zonder de volledige editor te openen. U kunt:

  • Tekst direct in het Script typen.

  • Invoertabellen aan het script toevoegen door erop te klikken onder Invoertabellen.

Scripttekst markeren en een invoertabel selecteren om deze op de opgegeven positie in het script toe te voegen

Voor meer opties en geavanceerde functionaliteit opent u de scripteditor. Zie De scripteditor gebruiken.

De scripteditor gebruiken

Door op de knop Editor openen in het configuratiepaneel te klikken, wordt een krachtige Scripteditor geopend om u te helpen bij het schrijven van uw Qlik script. Voeg eenvoudig tabellen, veldnamen of functies in, open documentatie, voeg scripts in en controleer de geldigheid van uw script.

De scripteditor gebruiken om een qlik script te schrijven

In het linkerpaneel kunt u de tabellen en velden bekijken die momenteel in uw gegevensstroom zijn geladen en door een breed scala aan Qlik scriptfuncties bladeren. Dit paneel is georganiseerd in drie tabbladen:

  • Tabellen, waar de tabellen die in de stroom zijn geladen, worden vermeld. Wijs met uw muis een van de tabelnamen aan en klik op + om deze direct in het script in te voegen.

  • Velden, waar de velden die op dit punt in de stroom beschikbaar zijn, worden vermeld. Wijs met uw muis een van de veldnamen aan en klik op + om deze direct in de expressie in te voegen.

  • Functies, waar u door Qlik-functies kunt bladeren. U kunt het zoekveld gebruiken om naar een specifieke functie te zoeken, of de vervolgkeuzelijst Functiecategorie gebruiken om ze te filteren.

    Wijs met uw muis een van de functies aan en klik op + om deze direct in de expressie in te voegen.

    • Als u de schakelaar Uitleggids selecteert, worden een korte beschrijving en een link naar de documentatie weergegeven wanneer u op een functie klikt.

In het bovenste paneel kunt u drie hulpmiddelen in- of uitschakelen om u te helpen en te begeleiden tijdens het schrijven van een script, een snelkoppeling gebruiken om een script uit andere bestanden in te voegen, evenals knoppen voor ongedaan maken en opnieuw uitvoeren om mogelijke fouten te herstellen.

  • Zoeken en vervangen, om automatisch naar specifieke waarden te zoeken en deze indien nodig te vervangen.

    Functie voor zoeken en vervangen van de scripteditor

  • Help-modus, om elke functie die u in het script schrijft om te zetten in klikbare links die u naar de documentatie brengen.

    De help-modus activeren in de scripteditor

  • Automatisch aanvullen, om suggesties weer te geven terwijl u typt, met een korte beschrijving en een voorbeeld van een functie.

    Automatisch aanvullen gebruiken om een scriptfunctie te schrijven

  • Script opnemen, om scripts in te voegen. Zie Andere scripts invoegen in load-scripts.

    Script invoegen vanuit een qvf-bestand

Het onderste paneel beschrijft eventuele mogelijke fouten met uw script, zoals onjuiste veldnamen of ongeldige expressies.

De validatietool die een fout in het script toont

Wanneer het statuspaneel een groene Ok toont, is uw script geldig. Klik op Bevestigen om dit script voor uw Qlik script-processor te gebruiken en ga terug naar de gegevensstroom-editor. U kunt vervolgens de processorconfiguratie valideren.

Voorbeelden

  • Meerdere tabellen met hetzelfde schema laden in één invoer voor uw stroom. Dit voorbeeld gebruikt twee .txt-bestanden uit uw catalogus, met dezelfde velden, maar met een andere inhoud. Bovendien voegt deze expressie een veld toe om bij te houden welke gegevens uit welke tabel komen, en genereert het een geheel getal als id-nummer:

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

    Voor meer informatie, zie Concatenate.

  • Maak een uitgelijnde tabel met bewerkbare gegevens als invoer voor uw stroom:

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

    Voor meer informatie, zie Uitgelijnde ladingen gebruiken om gegevens te laden.

  • Alle bestanden uit een map laden als invoer voor uw stroom. Dit voorbeeld itereert over alle bestanden met een opgegeven uitbreiding in een map en laadt ze in een enkele tabel. Vervang de verbindingsnaam voor gegevens en het mappad door uw eigen waarden, en pas de instellingen voor de bestandsuitbreiding en het formaat naar behoefte aan:

    SET vFolderPath = 'lib://YourDataConnection/FolderName';
    
    FOR EACH vFile IN filelist('$(vFolderPath)/*.csv')
        LOAD * FROM [$(vFile)]
        (txt, utf8, embedded labels, delimiter is ',');
    NEXT

    Voor meer informatie, zie For each..next.

  • Voor meer voorbeelden van scriptexpressies, zie Reguliere instructies en Script- en diagramfuncties.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!