Vai al contenuto principale

LookUp - funzione di script

Lookup() osserva una tabella già caricata e restituisce il valore di field_name corrispondente alla prima occorrenza del valore match_field_value nel campo match_field_name. La tabella può essere la tabella attuale o un'altra tabella caricata in precedenza.

Syntax:  

lookup(field_name, match_field_name, match_field_value [, table_name])

Return data type: duale

Arguments:  

Argomenti
Argomento Descrizione
field_name Nome del campo per cui è richiesto il valore restituito.Il valore di input deve essere specificato come stringa (ad esempio, un valore letterale tra virgolette).
match_field_name Nome del campo in cui ricercare match_field_value. Il valore di input deve essere specificato come stringa (ad esempio, un valore letterale tra virgolette).
match_field_value Valore da ricercare nel campo match_field_name.
table_name

Nome della tabella in cui ricercare il valore. Il valore di input deve essere specificato come stringa (ad esempio un valore letterale tra virgolette).

Se il valore table_name viene omesso, verrà utilizzata la tabella attuale.

Nota: Gli argomenti non racchiusi tra virgolette fanno riferimento alla tabella attuale. Per fare riferimento ad altre tabelle, racchiudere l'argomento tra virgolette singole.

Limitations:  

L'ordine in cui viene eseguita la ricerca è l'ordine di caricamento, a meno che la tabella non sia il risultato di operazioni complesse come unioni, nel qual caso l'ordine non sarà definito in modo preciso. Sia field_name che match_field_name devono essere campi della stessa tabella, specificata da table_name.

Se non viene trovata una corrispondenza, viene restituito il valore NULL.

I dati campione utilizzano la funzione Lookup() con il seguente formato:

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

Aggiungere lo script di esempio all'app ed eseguirlo. Aggiungere quindi a un foglio nell'app i campi elencati nella colonna dei risultati per visualizzare il risultato.

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

 

La tabella ProductList viene caricata per prima.

La funzione Lookup() viene utilizzata per creare la tabella OrderData. Specifica il terzo argomento come ProductID. Si tratta del campo per cui il valore deve essere ricercato nel secondo argomento 'ProductID' in ProductList, come indicato dalle virgolette singole che lo racchiudono.

La funzione restituisce il valore per 'Category' (nella tabella ProductList), caricata come CategoryID.

L'istruzione drop elimina la tabella ProductList dal modello dati poiché non è richiesta, facendo sì che la tabella OrderData presenti il risultato seguente:

Tabella risultante
ProductID InvoiceID CustomerID Unità 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
Nota: La funzione Lookup() è flessibile e può accedere a qualsiasi tabella caricata in precedenza. Tuttavia, risulta più lenta rispetto alla funzione Applymap().