Ga naar hoofdinhoud Ga naar aanvullende inhoud

Load

Met de opdracht LOAD worden velden geladen uit een bestand, uit gegevens die in het script zijn gedefinieerd, uit een eerder geladen tabel, van een webpagina, uit het resultaat van een daaropvolgende SELECT-opdracht of door gegevens automatisch te genereren. U kunt tevens gegevens van analytische verbindingen inladen.

Syntaxis:  

LOAD [ distinct ] fieldlist

[( from file [ format-spec ] |

from_field fieldassource [format-spec]|

inline data [ format-spec ] |

resident table-label |

autogenerate size ) |extension pluginname.functionname([script] tabledescription)]

[ where criterion | while criterion ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

Argumenten
ArgumentBeschrijving
distinct

U kunt distinct als predicaat gebruiken wanneer u alleen unieke records wilt laden. Als er dubbele records zijn, wordt het eerste exemplaar geladen.

Als u voorgaande loads gebruikt, moet u distinct in de eerste laadinstructie plaatsen, aangezien distinct alleen van invloed is op de bestemmingstabel.

Voorafgaande load

fieldlistfieldlist ::= ( * | field{, * | field } )

Een lijst van de velden die geladen moeten worden. Gebruik een * als veldlijst om alle velden in de tabel aan te duiden.

field ::= ( fieldref | expression ) [as aliasname ]

De velddefinitie moet altijd een literal, een referentie naar een bestaand veld of een uitdrukking bevatten.

fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )

fieldname is een tekst die identiek is aan een veldnaam in de tabel. Houd er rekening mee dat de veldnaam tussen rechte dubbele aanhalingstekens of vierkante haken moet staan als deze bijvoorbeeld spaties bevat. Soms zijn veldnamen niet expliciet beschikbaar. In dat geval wordt een andere notatie gebruikt:

@fieldnumber geeft het veldnummer in een tabelbestand met scheidingstekens aan. Het moet een positief geheel getal zijn, voorafgegaan door "@". De nummering is altijd vanaf 1 optellend tot het aantal velden.

@startpos:endpos geeft de begin- en eindposities van een veld aan in een bestand met een vaste recordlengte. De posities moeten beide positieve gehele getallen zijn. De twee getallen moeten worden voorafgegaan door "@" en gescheiden door een dubbele punt. De nummering is altijd vanaf 1 optellend tot het aantal posities. In het laatste veld wordt n gebruikt als eindpositie.

  • Als @startpos:endpos direct wordt gevolgd door de tekens I ofU, worden de gelezen bytes geïnterpreteerd als een binair ondertekend (I) of niet-ondertekend (U) geheel getal (Intel-bytevolgorde). Het aantal gelezen posities moet 1, 2 of 4 zijn.
  • Als @startpos:endpos direct wordt gevolgd door het teken R, worden de bytes geïnterpreteerd als een binair reëel getal (IEEE 32-bits of 64-bits drijvende komma). Het aantal gelezen posities moet 4 of 8 zijn.
  • Als @startpos:endpos direct wordt gevolgd door het teken B, worden de gelezen bytes geïnterpreteerd als een BCD (Binary Coded Decimal) volgens de COMP-3-standaard. U kunt een willekeurig aantal bytes opgeven.

expression kan een numerieke functie of een tekenreeksfunctie zijn, gebaseerd op een of meer andere velden in dezelfde tabel. Zie de syntaxis van uitdrukkingen voor meer informatie.

as wordt gebruikt om een nieuwe naam aan een veld toe te wijzen.

from

from wordt gebruikt als gegevens vanuit een bestand via een map moeten worden geladen. Bij het laden vanuit een bestand in de ruimte in Qlik Cloud Analyse, moet een geldig pad worden gebruikt. Zie Regels voor geldige mappaden voor ruimten.

file ::= [ path ] filename

In Qlik Cloud Analyse worden hiërarchische mapstructuren ondersteund en kan ernaar worden verwezen in de instructie.

Voorbeelden:  

  • Persoonlijke ruimte (pad op het hoogste niveau): [lib://DataFiles/abc.qvd]

  • Persoonlijke ruimte (geneste map): [lib://DataFiles/MyFolder/abc.qvd]

  • Gedeelte ruimte (pad op het hoogste niveau): [lib://TeamSharedSpace:DataFiles/xyz.qvd]

  • Gedeelde ruimte (geneste map): [lib://TeamSharedSpace:DataFiles/MyFolder/abc.qvd]

Voor meer informatie en voorbeelden raadpleegt u Bestanden worden geladen vanuit ruimten in Qlik Cloud Analyse.

from_fieldfrom_field wordt gebruikt als gegevens moeten worden geladen uit een eerder geladen veld.

fieldassource::=(tablename, fieldname)

De veldnaam is de naam van de eerder geladen tablename en fieldname.

format-spec ::= ( fspec-item {, fspec-item } )

De opmaakspecificatie bestaat uit een lijst met verschillende opmaakspecificaties, tussen haakjes. Ga voor meer informatie naar Opmaakspecificaties.

Informatiefrom_field ondersteunt alleen komma's als scheidingsteken in lijsten bij het scheiden van velden in tabellen.
inlineinline wordt gebruikt als gegevens moeten worden getypt in het script en niet uit een bestand moeten worden geladen.

data ::= [ text ]

Gegevens die u invoert met een inline-clausule moeten tussen specifieke tekens worden geplaatst – vierkante haakjes, aanhalingstekens of backticks. De tekst ertussen wordt net zo geïnterpreteerd als de inhoud van een bestand. Waar u bijvoorbeeld een nieuwe regel in een tekstbestand zou invoegen, moet u dat ook doen in de tekst van een inline-clausule: u drukt dus op Enter bij het typen van het script.

In een simpele inline-lading wordt het aantal kolommen bepaald door de eerste regel.

format-spec ::= ( fspec-item {, fspec-item } )

U kunt de inline-lading aanpassen met meerdere van dezelfde indelingspecificatie-items die beschikbaar zijn voor andere geladen tabellen. Deze items worden tussen haakjes getoond. Ga voor meer informatie naar Opmaakspecificaties.

Voor meer informatie over inline loads raadpleegt u Inline-ladingen gebruiken om gegevens te laden.

residentresident wordt gebruikt als gegevens moeten worden geladen uit een eerder geladen tabel.

table label is een label dat vooraf gaat aan de LOAD- of SELECT-opdracht(en) waarmee de oorspronkelijke tabel is gemaakt. Het label moet worden opgegeven met een puntkomma aan het eind.

Gegevens laden uit een eerder geladen tabel

Tabellabels

autogenerateautogenerate wordt gebruikt als gegevens automatisch moeten worden gegenereerd door Qlik Sense.

size ::= number

Number is een geheel getal dat het aantal te genereren records aangeeft.

De veldenlijst mag geen uitdrukkingen bevatten die gegevens uit een externe gegevensbron of een eerder geladen tabel vereisen, tenzij u verwijst naar een enkele veldwaarde in een eerder geladen tabel met de functie Peek.

wherewhere is een clausule die wordt gebruikt om aan te geven of een record wel of niet in de selectie moet worden opgenomen. De selectie wordt opgenomen als criterion de waarde True heeft.

criterion is een logische uitdrukking.

while

while is een clausule die aangeeft of een record herhaaldelijk moet worden gelezen. Hetzelfde record wordt gelezen zolang criterion de waarde True heeft. Een while-clausule is vaak pas nuttig wanneer u deze samen met de functie IterNo( ) gebruikt.

criterion is een logische uitdrukking.

group by

group by is een clausule die wordt gebruikt om te definiëren over welke velden de gegevens moeten worden geaggregeerd (gegroepeerd). De aggregatievelden moeten op de een of andere manier in de geladen uitdrukkingen worden opgenomen. U mag geen andere velden dan de aggregatievelden gebruiken buiten aggregatiefuncties in de geladen uitdrukkingen.

groupbyfieldlist ::= (fieldname { ,fieldname } )

order byorder by is een clausule die wordt gebruikt om de records van een residente tabel te sorteren voordat ze worden verwerkt door de load-opdracht. De residente tabel kan worden gesorteerd op één of meer velden in oplopende of aflopende volgorde. Het sorteren gebeurt primair op numerieke waarde en secundair op nationale sorteervolgorde. U kunt deze clausule alleen gebruiken wanneer de gegevensbron een residente tabel is.

De volgordevelden geven aan op welk veld de residente tabel wordt gesorteerd. U kunt het veld opgeven met z'n naam of met z'n nummer in de residente tabel (het eerste veld is nummer 1).

orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }

sortorder is asc voor oplopend of desc voor aflopend. Als u geen sortorder opgeeft, wordt asc verondersteld.

fieldname, path, filename en aliasname zijn tekenreeksen die aangeven waar de respectievelijke namen voor staan. Elk veld in de brontabel kan worden gebruikt als fieldname. Velden die zijn gemaakt via de as-clausule (aliasname) vallen echter buiten het bereik en kunnen niet worden gebruikt binnen dezelfde load-opdracht.

Als u geen gegevensbron opgeeft door middel van de clausule from, inline, resident, from_fieldextensie of autogenerate, worden gegevens geladen uit de resultaten van de direct volgende SELECT- of LOAD-instructie. Deze opdracht mag geen prefix hebben.

Gegevens laden uit een eerder geladen tabel

InformatieBestandsextensies van DataFiles-verbindingen zijn hoofdlettergevoelig. Bijvoorbeeld: .qvd.

Voorbeelden:  

Bestanden worden geladen vanuit ruimten in Qlik Cloud Analyse

In Qlik Cloud Analyse kunt u bij het laden van gegevens uit een gegevensbestand binnen een load-script een LOAD-instructie gebruiken of QVS‑invoegen. In beide gevallen kunt u in uw scriptinstructie verwijzen naar hiërarchische mapstructuren in de ruimte. Volg de regels voor geldige mappaden voor ruimten. Bovendien moeten het bestand en alle mappen waarnaar wordt verwezen al aanwezig zijn op de opgegeven locatie. Anders mislukt de lading.

Voorbeelden: Verwijzing naar een bestand op het pad op het hoogste niveau van een ruimte

Bij dit voorbeeld wordt het bestand orders.csv geladen vanuit een persoonlijke ruimte. Het bestand bevindt zich niet in een specifieke map, maar op het pad op het hoogste niveau in de ruimte.

LOAD * FROM [lib://DataFiles/orders.csv];

In dit voorbeeld wordt het bestand orders.csv geladen vanuit een gedeelde, beheerde of gegevensruimte. De naam van de ruimte is TeamSharedSpace. Het bestand bevindt zich niet in een specifieke map, maar op het pad op het hoogste niveau in de ruimte.

LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];

Voorbeelden: Verwijzing naar een specifieke mappad binnen een ruimte

Bij dit voorbeeld wordt het bestand orders_Europe.csv geladen vanuit de map Orders By Region binnen een persoonlijke ruimte.

LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];

In dit voorbeeld wordt het bestand orders_Europe.csv geladen vanuit de map Orders By Region binnen een gedeelde, beheerde of gegevensruimte. De naam van de ruimte is SalesSpace.

LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];

Zie Verwijzen naar een mapstructuur van de ruimte in app- en scriptontwikkeling voor meer informatie over het verwijzen naar maplocaties van ruimten in load-scripts.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!