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 tablenameVoor meer informatie, zie Load.
-
U moet een NoConcatenate-instructie opnemen.
NoConcatenate LOAD A,BVoor 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 tablenameVoor 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.
Eigenschappen
| Eigenschap | Configuratie |
|---|---|
| Script |
Voer uw Qlik script in de teksteditor in die de volgende tijdelijke aanduiding met de vereiste instructies bevat. 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.
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.
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.
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.
-
Help-modus, om elke functie die u in het script schrijft om te zetten in klikbare links die u naar de documentatie brengen.
-
Automatisch aanvullen, om suggesties weer te geven terwijl u typt, met een korte beschrijving en een voorbeeld van een functie.
-
Script opnemen, om scripts in te voegen. Zie Andere scripts invoegen in load-scripts.
Het onderste paneel beschrijft eventuele mogelijke fouten met uw script, zoals onjuiste veldnamen of ongeldige expressies.
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 ','); NEXTVoor meer informatie, zie For each..next.
Voor meer voorbeelden van scriptexpressies, zie Reguliere instructies en Script- en diagramfuncties.