# 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:

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.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterRecordFunctions/LookUp.htm)

#### Exempel

### Laddningsskript

Ladda följande data som en inline load i Skriptredigeraren för att skapa exemplet nedan.

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

Mer information om hur du använder inline-laddningar finns i [Använda inline-laddningar för att ladda data](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Skapa en visualisering

Skapa en tabellvisualisering i ett Qlik Sense-ark. Lägg till fälten ProductID, InvoiceID, CustomerID, Units och CategoryID i tabellen.

### Resultat

Resultattabell

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

### Förklaring

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

`Lookup('Category', 'ProductID', ProductID, '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.

Satsen drop raderar tabellen ProductList från datamodellen eftersom den inte behövs, vilket ger tabellen OrderData som resultat.

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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)