# Gegevens laden uit een eerder geladen tabel

Er zijn twee manieren om gegevens te laden en te transformeren vanuit een tabel die al is geladen.

* Resident LOAD - waarbij u het predicaat Resident gebruikt in een daaropvolgende LOAD-opdracht om een nieuwe tabel te laden.
* Voorafgaande load - waarbij u de load-bewerking uitvoert vanuit de voorafgaande LOAD- of SELECT-opdracht zonder een bron op te geven.

## Resident of voorafgaande LOAD?

In de meeste gevallen kan hetzelfde resultaat worden bereikt met beide methoden. Een voorafgaande LOAD is meestal de snellere optie, maar in sommige gevallen moet u in plaats daarvan een Resident LOAD gebruiken:

* Als u de clausule Order\_by wilt gebruiken voor het sorteren van de records voordat de LOAD-opdracht wordt verwerkt.
* Als u een van de volgende prefixen wilt gebruiken, waarbij een voorafgaande LOAD niet wordt ondersteund:
  * Crosstable
  * Join
  * Intervalmatch

## Resident LOAD

U kunt het predicaat Resident in een LOAD-opdracht gebruiken om gegevens van een eerder geladen tabel te laden. Dit is handig als u berekeningen wilt uitvoeren met gegevens die geladen zijn met een SELECT-opdracht waarbij u geen Qlik Sense-functies kunt gebruiken, zoals datum of het afhandelen van numerieke waarden.

Voorbeeld:

In dit voorbeeld wordt de datuminterpretatie uitgevoerd in de Resident-load, omdat het niet in de initiële Crosstable LOAD kan worden gedaan.

```
PreBudget:
Crosstable (Month, Amount, 1)
LOAD Account,
   Jan,
   Feb,
   Mar,
…
From Budget;

Budget:
Noconcatenate
LOAD 
   Account,
   Month(Date#(Month,'MMM')) as Month,
   Amount
Resident PreBudget;

Drop Table PreBudget;
```

TipResident wordt vaak gebruikt in gevallen waarin gebruikers een tijdelijke tabel willen gebruiken voor berekeningen of filteren. Als u het doel van de tijdelijke tabel hebt bereikt, moet de tabel worden gewist met de Drop table-opdracht.

## Voorafgaande load

Met de functie voor voorafgaande load kunt u een tabel in één keer laden, maar toch meerdere, opeenvolgende transformaties definiëren. In wezen is het een LOAD-opdracht die moet worden geladen vanuit de onderstaande LOAD- of SELECT-opdracht, zonder dat een bronkwalificatie zoals From of Resident wordt opgegeven, die normaliter wordt gebruikt. Op deze manier kunt u elk gewenste aantal LOAD-opdrachten stapelen. De opdracht onderaan wordt eerst geëvalueerd, dan de opdracht erboven, enzovoort, totdat de bovenste opdracht is geëvalueerd.

U kunt hetzelfde resultaat verkrijgen door Resident te gebruiken, maar in de meeste gevallen werkt een voorafgaande LOAD sneller.

Een ander voordeel van een voorafgaande load is dat u een berekening op één plaats kunt houden en opnieuw kunt gebruiken in LOAD-opdrachten erboven.

Voorbeeld 1: Gegevens transformeren die zijn geladen met een SELECT-opdracht

Als u gegevens uit een database laadt met een SELECT-opdracht, kunt u geen Qlik Sense-functies gebruiken om gegevens te interpreteren in de SELECT-opdracht. De oplossing is dat u een LOAD-opdracht moet toevoegen waar u gegevenstransformatie uitvoert, boven de SELECT-opdracht.

In dit voorbeeld interpreteren we een datum die is opgeslagen als een tekenreeks met de Qlik Sense-functie Date# in een LOAD-opdracht. Hierbij gebruiken we de voorafgaande SELECT-opdracht als bron.

```
LOAD Date#(OrderDate,'YYYYMMDD') as OrderDate;
SQL SELECT OrderDate FROM … ;
```

Voorbeeld 2: Het script vereenvoudigen door berekeningen opnieuw te gebruiken

In dit voorbeeld gebruiken we een berekening meer dan eens in het script:

```
LOAD Age(FromDate + IterNo() – 1, BirthDate ) as Age,
   Date(FromDate + IterNo() – 1 ) as ReferenceDate
   Resident Policies
      While IterNo() <= ToDate - FromDate + 1 ;
```

Als de berekening de eerste keer wordt gebruikt, kan deze opnieuw worden gebruikt in de functie Age in een voorafgaande LOAD:

LOAD ReferenceDate, Age(ReferenceDate, BirthDate ) as Age; LOAD \*, Date(FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() &lt;= ToDate - FromDate + 1 ;

### Beperkingen van voorafgaande loads

* De volgende prefixen kunnen niet worden gebruikt in combinatie met voorafgaande LOAD: Join, Crosstable en Intervalmatch.
* Als u distinct gebruikt om unieke records te laden, moet u distinct in de eerste laadinstructie plaatsen, aangezien distinct alleen van invloed is op de bestemmingstabel.

## Meer informatie

* [Load](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Drop table](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/drop-table.htm)