# LookUp Fonction de script

LookUp() effectue des recherches dans une table déjà chargée et renvoie la valeur de field\_name qui correspond à la première occurrence de la valeur match\_field\_value dans le champ match\_field\_name. La table peut être la table active ou une autre table chargée précédemment.

Syntaxe :

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

Type de données renvoyé : double

Arguments :

Arguments

| Argument | Description |
| --- | --- |
| field\_name | Nom du champ pour lequel la valeur de renvoi est requise. La valeur saisie doit être une chaîne (par exemple, un littéral placé entre guillemets). |
| match\_field\_name | Nom du champ dans lequel rechercher match\_field\_value. La valeur saisie doit être une chaîne (par exemple, un littéral placé entre guillemets). |
| match\_field\_value | Valeur à rechercher dans le champ match\_field\_name. |
| table\_name | Nom de la table dans laquelle rechercher la valeur. La valeur saisie doit être une chaîne (par exemple, un littéral placé entre guillemets).<br><br>Si l'argument table\_name est omis, la table active est alors renvoyée. |

Note InformationsLes arguments sans guillemets renvoient à la table active. Pour faire référence à d'autres tables, placez un argument entre guillemets simples.

Limitations :

L'ordre de recherche correspond à l'ordre de chargement, sauf si la table est le résultat d'opérations complexes telles que des jointures, auquel cas l'ordre n'est pas bien défini. field\_name et match\_field\_name doivent être des champs de la même table, spécifiée par table\_name.

En l'absence de correspondance, la valeur NULL est renvoyée.

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

#### Exemple

### Script de chargement

Chargez les données suivantes sous forme de chargement inline dans l'éditeur de chargement de données pour créer l'exemple ci-dessous.

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

Pour plus d'informations sur l'utilisation de chargements inline, consultez [Utilisation de chargements inline pour charger des données](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Création d'une visualisation

Créez une visualisation de table dans une feuille Qlik Sense. Ajoutez les champs ProductID, InvoiceID, CustomerID, Units et CategoryID à la table.

### Résultat

Table des résultats

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

### Explication

Les échantillons de données utilisent la fonction Lookup() sous la forme suivante :

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

La table ProductList est chargée en premier.

La fonction Lookup() est utilisée pour créer la table OrderData. Elle spécifie le troisième argument comme ProductID. Il s'agit du champ pour lequel la valeur doit être recherchée dans le deuxième argument 'ProductID' dans la liste ProductList, comme indiqué par les guillemets simples placés autour.

La fonction renvoie la valeur pour 'Category' (dans la table ProductList), chargée comme CategoryID.

L'instruction drop supprime la table ProductList du modèle de données, car elle n'est pas nécessaire, ce qui aboutit à la table OrderData.

Note InformationsLa fonction Lookup() étant flexible, elle peut accéder à toutes les tables chargées précédemment. Cependant, elle est lente par rapport à la fonction Applymap().

## En savoir plus

* [ApplyMap Fonction de script](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)