# LookUp - Skriptfunktion

Lookup() sucht in einer bereits geladenen Tabelle und liefert den Wert des Feldes field\_name, der dem ersten Auftreten des Werts match\_field\_value im Feld match\_field\_name zugehörig ist. Bei der Tabelle kann es sich um die aktuelle Tabelle oder eine andere zuvor geladene Tabelle handeln.

Syntax:

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

Rückgabe Datentyp: dual

Argumente:

LookUp-Argumente

| Argument | Beschreibung |
| --- | --- |
| field\_name | Name für das Feld, für das der Rückgabewert erforderlich ist.Eingabewert muss als String angegeben werden (zum Beispiel in einfachen Anführungszeichen). |
| match\_field\_name | Name des Felds, in dem match\_field\_value aufgerufen werden soll. Eingabewert muss als String angegeben werden (zum Beispiel in einfachen Anführungszeichen). |
| match\_field\_value | Wert, der im Feld match\_field\_name aufgerufen werden soll. |
| table\_name | Name der Tabelle, in welcher der Wert aufgerufen werden soll. Eingabewert muss als String angegeben werden (zum Beispiel in einfachen Anführungszeichen).<br><br>Ist table\_name nicht angegeben, sucht das Programm in der aktuellen Tabelle. |

InformationshinweisArgumente ohne Anführungszeichen beziehen sich auf die aktuelle Tabelle. Um den Bezug zu anderen Tabellen herzustellen, muss ein Argument in einzelnen Anführungszeichen stehen.

Beschränkungen:

Die Reihenfolge, in der die Suche erfolgt, entspricht der Lade-Reihenfolge, sofern die Tabelle nicht durch komplexe Operationen wie etwa Joins entsteht. field\_name und match\_field\_name müssen beide Felder derselben Tabelle table\_name sein.

Wird keine Übereinstimmung gefunden, ist das Ergebnis NULL.

Beispiel:

Die Beispieldaten verwenden die Funktion Lookup() in der folgenden Form:

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

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

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

Die Tabelle ProductList wird zuerst geladen.

Die Funktion Lookup() wird zum Erstellen der Tabelle OrderData verwendet. Sie legt das dritte Argument als ProductID fest. Das ist das Feld, für das der Wert im zweiten Argument 'ProductID' in der ProductList gesucht wird, wie durch die einfachen Anführungszeichen angegeben wurde.

Die Funktion liefert den Wert für 'Category' (in der Tabelle ProductList), geladen als CategoryID.

Der Befehl drop löscht die Tabelle ProductList aus dem Datenmodell, weil sie nicht erforderlich ist, wodurch die Tabelle OrderData mit dem folgenden Ergebnis bleibt:

Beispiel 1 – Ergebnisse

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

InformationshinweisDie Funktion Lookup() ist flexibel und kann auf zuvor geladene Tabellen zugreifen. Im Vergleich zur Funktion Applymap() ist sie jedoch langsam.

## Weitere Informationen

* [ApplyMap - Skriptfunktion](https://help.qlik.com/de-DE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)