Zu Hauptinhalt springen

LookUp - Skriptfunktion

AUF DIESER SEITE

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

Return data type: dual

Arguments:  

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.

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

Limitations:  

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.

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

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

Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App 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:

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
Hinweis: Die Funktion Lookup() ist flexibel und kann auf zuvor geladene Tabellen zugreifen. Im Vergleich zur Funktion Applymap() ist sie jedoch langsam.