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.
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.
Load-script
Laad de volgende gegevens als een inline load in de editor voor laden van gegevens om het onderstaande voorbeeld te maken.
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;
Voor meer informatie over inline loads, raadpleegt u Inline loads.
Een visualisatie maken
Maak een tabelvisualisatie in een Qlik Sense-werkblad. Voeg de velden ProductID, InvoiceID, CustomerID, Units en CategoryID toe aan de tabel.
Resultaat
Resultaattabel
ProductID
InvoiceID
CustomerID
Eenheden:
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
Uitleg
In de steekproefgegevens wordt de functie Lookup() als volgt gebruikt:
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.
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().
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!