# Peek - fonction de script

Peek() recherche la valeur d'un champ dans une table pour une ligne qui a déjà été chargée ou qui existe dans la mémoire interne. Il est possible de spécifier le numéro de ligne et la table.

Peek(field\_name[, row\_no[, table\_name ] ] )

double

Arguments Peek

| 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). |
| row\_no | Ligne de la table indiquant le champ requis. Il peut s'agir d'une expression, mais le résultat doit correspondre à un entier. 0 renvoie au premier enregistrement, 1 au deuxième et ainsi de suite. Les nombres négatifs indiquent l'ordre des enregistrements à partir de la fin de la table. -1 renvoie ainsi au dernier enregistrement lu.<br><br>Si aucun argument row n'est spécifié, -1 est utilisé. |
| table\_name | Étiquette de table sans les deux-points finaux. Si aucun argument table\_name n'est spécifié, la table active est utilisée. En cas d'utilisation à l'extérieur de l'instruction LOAD ou pour faire référence à une autre table, l'argument table\_name doit être inclus. |

Dans le premier enregistrement d'une table interne, la fonction renvoie NULL.

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.

`EmployeeDates:` `Load * Inline [` `EmployeeCode|StartDate|EndDate` `101|02/11/2010|23/06/2012` `102|01/11/2011|30/11/2013` `103|02/01/2012|` `104|02/01/2012|31/03/2012` `105|01/04/2012|31/01/2013` `106|02/11/2013|` `] (delimiter is '|');` ` ` `FirstEmployee:` `Load EmployeeCode, Peek('EmployeeCode',0) As EmpCode` `Resident EmployeeDates;` ` `

EmpCode = 101, car`  Peek(EmployeeCode,0) ` renvoie la première valeur de EmployeeCode de la table EmployeeDates.

La substitution de la valeur de l'argument row\_no renvoie les valeurs des autres lignes de la table, comme suit :

`  Peek('EmployeeCode',2) ` renvoie la troisième valeur de la table : 103.

Notez cependant que si vous ne spécifiez pas la table comme troisième argument table\_no, la fonction fait référence à la table active (dans ce cas, la table interne). Le résultat de`  Peek(EmployeeCode,-2) ` correspond à plusieurs valeurs :

Résultats de l'exemple 1

| EmployeeCode | EmpCode |
| --- | --- |
| 101 | - |
| 102 | - |
| 103 | 101 |
| 104 | 102 |
| 105 | 103 |
| 106 | 104 |

`FirstEmployee:` `Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode` `Resident EmployeeDates;` ` `

En spécifiant l'argument table\_no comme `'EmployeeDates'`, la fonction renvoie l'avant-dernière valeur de EmployeeCode figurant dans la table EmployeeDates : 105.

La fonction Peek() peut être utilisée pour référencer des données qui n'ont pas encore été chargées.

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.

`T1:` `LOAD * inline [` `ID, Value` `1|3` `1|4` `1|6` `3|7` `3|8` `2|1` `2|11` `5|2` `5|78` `5|13` `] (delimiter is '|');` `T2:` `LOAD` `*,` `IF(ID=Peek('ID'), Peek('List')&','&Value,Value) AS List` `RESIDENT T1` `ORDER BY ID ASC;` `DROP TABLE T1;` ` `

Créez une table sur une feuille de votre document en définissant ID, List et Value comme dimensions.

Résultats de l'exemple 3

| ID | List | Value |
| --- | --- | --- |
| 1 | 6 | 6 |
| 1 | 6,3 | 3 |
| 1 | 6,3,4 | 4 |
| 2 | 11 | 11 |
| 2 | 11,10 | 10 |
| 2 | 11,10,1 | 1 |
| 3 | 8 | 8 |
| 3 | 8,7 | 7 |
| 5 | 13 | 13 |
| 5 | 13,2 | 2 |
| 5 | 13,2,78 | 78 |

L'instruction IF() est créée à partir de la table temporaire T1.   
`Peek('ID')` référence le champ ID de la ligne précédente dans la table active T2.  
`Peek('List')` référence le champ List de la ligne précédente dans la table T2, en cours de création pendant l'évaluation de l'expression.

L'instruction est évaluée de la manière suivante :  
Si la valeur active d'ID est identique à la valeur précédente d'ID, alors indiquez la valeur de Peek('List') concaténée avec la valeur active de Value. Sinon, indiquez uniquement la valeur active de Value.

Si Peek('List') contient déjà un résultat concaténé, le nouveau résultat de Peek('List)' sera concaténé avec lui.

Note InformationsNotez la clause Order by. Elle spécifie le mode de tri de la table (par ID et selon un ordre croissant). Sans cela, la fonction Peek() utilise n'importe quel ordre arbitraire inclus dans la table interne, ce qui peut aboutir à des résultats imprévisibles.

## En savoir plus

* [Étiquettes de table](https://help.qlik.com/fr-FR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/table-labels.htm)
* [Previous - fonction de script](https://help.qlik.com/fr-FR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/InterRecordFunctions/Previous.htm)