Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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

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

 

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!

Nehmen Sie am Analyse-Modernisierungsprogramm teil

Remove banner from view

Modernisieren Sie mit dem Analyse-Modernisierungsprogramm, ohne Ihre wertvollen QlikView-Apps zu gefährden. Klicken Sie hier für weitere Informationen oder kontaktieren Sie uns: ampquestions@qlik.com