# 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

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterRecordFunctions/LookUp.htm)

#### Exemplo

### Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor de carregamento de dados para criar o exemplo abaixo.

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

Para obter mais informações sobre como usar carregamentos inline, consulte [Usando carregamentos inline para carregar dados](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Criar uma visualização

Crie uma visualização de tabela em uma Qlik Sense do Qlik Cloud. Adicione os campos ProductID, InvoiceID, CustomerID, Units e CategoryID à tabela.

### Resultado

Tabela resultante

| ProductID | InvoiceID | CustomerID | Unidades | 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 |

### Explicação

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

`Lookup('Category', 'ProductID', ProductID, '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 ela não é necessária, o que deixa a tabela OrderData resultante.

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/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)