# LookUp - função de script

Lookup() examina uma tabela que já esteja carregada e retorna o valor de field\_name correspondente à primeira ocorrência do valor match\_field\_value no campo match\_field\_name. A tabela pode ser a tabela atual ou outra tabela carregada anteriormente.

Sintaxe:

lookup(field\_name, match\_field\_name, match\_field\_value [, table\_name])

Tipo de dados de retorno: dual

Argumentos:

Argumentos LookUp

| Argumento | Descrição |
| --- | --- |
| field\_name | Nome do campo para o qual o valor de retorno é exigido.O valor de entrada deve ser fornecido como uma string (por exemplo, literais entre aspas). |
| match\_field\_name | Nome do campo para procurar em match\_field\_value. O valor de entrada deve ser fornecido como uma string (por exemplo, literais entre aspas). |
| match\_field\_value | Valor para procurar no campo match\_field\_name |
| table\_name | Nome da tabela em que procurar o valor. O valor de entrada deve ser fornecido como uma string (por exemplo, literais entre aspas).<br><br>Se table\_name for omitido, a tabela atual será assumida. |

Nota informativaArgumentos sem aspas, consulte a tabela atual. Para se referir a outras tabelas, coloque um argumento entre aspas simples.

Limitações:

A ordem da pesquisa é feita é na ordem de carga, a menos que a tabela seja o resultado de operações complexas, como uniões, em que a ordem não é bem definida. Tanto field\_name quanto match\_field\_name devem ser campos da mesma tabela, especificados pelo table\_name.

Se não for encontrada correspondência, NULL será retornado.

Exemplo:

Os dados de amostra usam a função Lookup() da seguinte forma:

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

Adicione o script de exemplo ao seu documento e execute-o. Em seguida, adicione pelo menos os campos listados na coluna de resultados a um documento para ver o resultado.

`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` ` `

A tabela ProductList é carregada primeiro.

A Lookup() função é usada para construir a tabela OrderData. Especifica o terceiro argumento como ProductID. Este é o campo em que o valor deve ser pesquisado no segundo argumento 'ProductID' na ProductList, conforme indicado pelas aspas simples.

A função retorna o valor para 'Category' (na tabela ProductList), carregada como CategoryID.

O comando drop exclui a tabela ProductList do modelo de dados, porque não é necessário, o que deixa a tabela OrderData com o seguinte resultado:

Resultados do exemplo 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 informativaA função Lookup() é flexível e pode acessar qualquer tabela previamente carregada. Contudo, é lenta em comparação com a função Applymap().

## Saiba mais

* [ApplyMap - função de script](https://help.qlik.com/pt-BR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)