# LookUp - función de script

Lookup() mira en una tabla ya cargada y devuelve el valor de field\_name correspondiente a la primera aparición del valor match\_field\_value en el campo match\_field\_name. La tabla puede ser la actual u otra cargada anteriormente.

Sintaxis:

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

Tipo de datos que devuelve: dual

Argumentos:

Argumentos de LookUp

| Argumento | Descripción |
| --- | --- |
| nombre\_campo | Nombre del campo para el que se requiere el valor devuelto.El valor de entrada debe suministrarse como una cadena (por ejemplo, literales entrecomillados). |
| match\_field\_name | Nombre del campo en el que buscar match\_field\_value. El valor de entrada debe suministrarse como una cadena (por ejemplo, literales entrecomillados). |
| match\_field\_value | Valor que debe buscarse en el campomatch\_field\_name. |
| table\_name | Nombre de la tabla en la que buscar el valor. El valor de entrada debe suministrarse como una cadena (por ejemplo, literales entrecomillados).<br><br>Si table\_name se omite, se da por sentado que se trata de la tabla actual. |

Nota informativaLos argumentos sin comillas se refieren a la tabla actual. Para referirse a otras tablas, encierre un argumento entre comillas simples.

Limitaciones:

El orden de búsqueda es el orden de carga, a menos que la tabla sea el resultado de operaciones complejas, como uniones entre diversas tablas, en cuyo caso el orden no está bien definido. Tanto field\_name como match\_field\_name deben ser campos de una misma tabla, la cual viene especificada mediante table\_name.

Si no se encuentra ninguna correspondencia, se devuelve NULL.

Ejemplo:

Los datos de muestra utilizan la función Lookup() de la siguiente manera:

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

Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el 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` ` `

En primer lugar se carga la tabla ProductList.

La función Lookup() se utiliza para crear la tabla OrderData. Especifica el tercer argumento como ProductID. Es el campo para el que debe buscarse el valor en el segundo argumento 'ProductID' en ProductList, tal como indica el entrecomillado simple utilizado.

La función devuelve el valor de “Category” (en la tabla ProductList), que se carga como CategoryID.

La sentencia drop elimina la tabla ProductList del modelo de datos porque no es necesaria y la tabla OrderData queda con el resultado siguiente:

Resultados del ejemplo 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 informativaLa función Lookup() es flexible y permite acceder a cualquier tabla previamente cargada. Sin embargo, es lenta comparada con la función Applymap().

## Más información

* [ApplyMap - función de script](https://help.qlik.com/es-ES/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)