# LookUp - skriptfunktion

Lookup() letar in i en tabell som redan är laddad och returnerar värdet av field\_name vilket motsvarande den första förekomsten av värdet match\_field\_value i fältet match\_field\_name. Tabellen kan vara den aktuella tabell eller en annan tabell som har laddats.

Syntax:

lookup(field\_name, match\_field\_name, match\_field\_value [, table\_name])

Returnerad datatyp: dual

Argument:

LookUp-argument

| Argument | Beskrivning |
| --- | --- |
| field\_name | Namnet på det fält för vilket returvärdet krävs.Inmatat värde måste anges som en sträng (t ex en litteral inom citationstecken). |
| match\_field\_name | Namnet på fältet som match\_field\_value ska sökas i. Inmatat värde måste anges som en sträng (t ex en litteral inom citationstecken). |
| match\_field\_value | Värdet som ska sökas upp i match\_field\_name-fältet. |
| table\_name | Namnet på tabellen där värdet ska sökas. Inmatat värde måste anges som en sträng (t.ex. en litteral inom citationstecken).<br><br>Om table\_name utelämnas, antas aktuell tabell. |

Anteckning om informationArgument utan citattecken syftar på den aktuella tabellen. Om du vill hänvisa till andra tabeller omger du ett argument med enkla citattecken.

Begränsningar:

Sökordningen är densamma som laddningsordningen, såvida inte tabellen är resultatet av komplexa operationer som join-operationer. I så fall är ordningen inte väldefinierad. Både field\_name och match\_field\_name måste vara fält i samma tabell, som angivet med table\_name.

Om ingen motsvarighet påträffas, returneras NULL.

Exempel:

Exempeldata använder Lookup()-funktionen i följande form:

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

Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.

`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` ` `

ProductList-tabellen laddas föst.

Lookup()-funktionen används för att bygga OrderData-tabellen. Den anger det tredje argumentet som ProductID. Detta är det fält för vilket en sökning efter värdet ska göras i det andra argumentet 'ProductID' i ProductList enligt vad som anges av de omgivande enkla citattecknen.

Funktionen returnerar värdet för "Category" (i tabellen ProductList), laddad som CategoryID.

drop-satsen tar bort ProductList-tabellen från datamodellen, eftersom den inte krävs, vilket ger OrderData-tabellen följande resultat:

Resultat för exempel 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 |

Anteckning om information Lookup()-funktionen är flexibel och kan komma åt alla tabeller som laddats tidigare. Det går dock långsamt jämfört med Applymap()-funktionen.

## Mer information

* [ApplyMap - skriptfunktion](https://help.qlik.com/sv-SE/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)