Accéder au contenu principal Passer au contenu complémentaire

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 désigner la table active ou une autre table chargée précédemment.

 

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

double

 

Arguments LookUp
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).

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.

 

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. Les arguments field_name et match_field_name doivent désigner des champs faisant partie de la même table, elle-même spécifiée par l'argument table_name.

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

 

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

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

Ajoutez l'exemple de script à votre document et exécutez-le. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre document afin de visualiser le résultat.

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

 

La table ProductList est chargée en premier.

La fonction Lookup() permet de 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 avec le résultat suivant :

Résultats de l'exemple 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
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().

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com