Vai al contenuto principale Passa a contenuto complementare

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.

Sintassi:  

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

Tipo di dati restituiti: duale

Argomenti:  

Argomenti LookUp
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 informaticaGli argomenti non racchiusi tra virgolette fanno riferimento alla tabella attuale. Per fare riferimento ad altre tabelle, racchiudere l'argomento tra virgolette singole.

Limiti:  

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.

Esempio:  

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

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

Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno 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

 

Viene prima caricata la tabella ProductList.

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:

Risultati esempio 1
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
Nota informaticaLa funzione Lookup() è flessibile e può accedere a qualsiasi tabella caricata in precedenza. Tuttavia, risulta più lenta rispetto alla funzione Applymap().

Ulteriori informazioni

 

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!

Partecipa al programma Analytics Modernization

Remove banner from view

Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com