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.
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.
Ladeskript
Laden Sie die folgenden Daten als Inline-Ladevorgang in den Dateneditor, um das folgende Beispiel zu erstellen.
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;
Erstellen Sie eine Tabellenvisualisierung in einem Qlik Sense-Arbeitsblatt. Fügen Sie die Felder ProductID, InvoiceID, CustomerID, Units und CategoryID zur Tabelle hinzu.
Ergebnis
Ergebnistabelle
ProductID
InvoiceID
CustomerID
Einheiten
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
Erläuterung
Die Beispieldaten verwenden die Funktion Lookup() in der folgenden Form:
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 zurückbleibt.
InformationshinweisDie Funktion Lookup() ist flexibel und kann auf zuvor geladene Tabellen zugreifen. Im Vergleich zur Funktion Applymap() ist sie jedoch langsam.
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!