Ga naar hoofdinhoud Ga naar aanvullende inhoud

LookUp - scriptfunctie

Lookup() zoekt u een tabel die al is geladen en retourneert de waarde van field_name die overeenkomt met het eerste exemplaar van de waarde match_field_value in het veld match_field_name. De tabel kan de huidige tabel zijn of een andere tabel die eerder is geladen.

Syntaxis:  

lookup(field_name, match_field_name, match_field_value [, table_name])

Retourgegevenstypen: dual

Argumenten:  

Argumenten voor LookUp
Argument Beschrijving
field_name Naam van het veld waarvoor de retourwaarde is vereist.De invoerwaarde moet worden aangegeven als een tekenreeks (bijvoorbeeld literal tussen aanhalingstekens).
match_field_name Naam van het veld waarin match_field_value moet worden opgezocht. De invoerwaarde moet worden aangegeven als een tekenreeks (bijvoorbeeld literal tussen aanhalingstekens).
match_field_value Waarde die moet worden opgezocht in het veld match_field_name.
table_name

Naam van de tabel waarin de waarde moet worden opgezocht. De invoerwaarde moet worden aangegeven als een tekenreeks (bijvoorbeeld literal tussen aanhalingstekens).

Als table_name wordt weggelaten, wordt de huidige tabel aangenomen.

InformatieArgumenten zonder aanhalingstekens verwijzen naar de huidige tabel. Als u naar andere tabellen wilt verwijzen, zet u een argument tussen enkele aanhalingstekens.

Beperkingen:  

De volgorde waarin de zoekopdracht wordt uitgevoerd is de laadvolgorde, tenzij de tabel het resultaat is van complexe bewerkingen, zoals joins, waarbij de volgorde niet goed is gedefinieerd. Zowel field_name als match_field_name moeten velden in dezelfde tabel zijn, aangegeven met table_name.

Als geen waarde wordt gevonden, wordt NULL geretourneerd.

Voorbeeld:  

In de steekproefgegevens wordt de functie Lookup() als volgt gebruikt:

Lookup('Category', 'ProductID', ProductID, 'ProductList')

Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.

ProductList:

Load * Inline [

ProductID|Product|Category|Price

1|AA|1|1

2|BB|1|3

3|CC|2|8

4|DD|3|2

] (delimiter is '|');

 

OrderData:

Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID

Inline [

InvoiceID|CustomerID|ProductID|Units

1|Astrida|1|8

1|Astrida|2|6

2|Betacab|3|10

3|Divadip|3|5

4|Divadip|4|10

] (delimiter is '|');

 

Drop Table ProductList

 

De tabel ProductList wordt als eerste geladen.

De functie Lookup() wordt gebruikt voor het maken van de tabel OrderData. Hiermee wordt het derde argument opgegeven als ProductID. Dit is het veld waarvoor de waarde moet worden opgezocht in het tweede argument 'ProductID' in de ProductList, zoals aangegeven door de enkele aanhalingstekens er omheen.

De functie retourneert de waarde voor 'Category' (in de tabel ProductList), geladen als CategoryID.

Met de opdracht drop wordt de tabel ProductList verwijderd uit het gegevensmodel, omdat deze niet vereist is. Nu blijft de tabel OrderData over met het volgende resultaat:

Resultaten voorbeeld 1
ProductID InvoiceID CustomerID Units CategoryID
1 1 Astrida 8 1
2 1 Astrida 6 1
3 2 Betacab 10 2
3 3 Divadip 5 2
4 4 Divadip 10 3
InformatieDe functie Lookup() is flexibel en kan toegang verkrijgen tot elke eerder geladen tabel. Deze functie is echter traag in vergelijking met de functie Applymap().

Meer informatie

 

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!

Neem deel aan het Analytics Modernization Program

Remove banner from view

Moderniseer zonder uw waardevolle QlikView-apps op het spel te zetten met het Analytics Modernization Program. Klik hier voor meer informatie of om contact op te nemen: ampquestions@qlik.com