# Peek - función de script

Peek() encuentra el valor de un campo de una tabla para una fila que ya se ha cargado o que existe en la memoria interna. El número de fila se puede especificar, así como la tabla.

Sintaxis:

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

Tipo de datos que devuelve: dual

Argumentos:

Argumentos de Peek

| 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). |
| row\_no | La fila de la tabla que especifica el campo requerido. Puede ser una expresión, pero debe resolverse en un entero. 0 indica el primer registro, 1 el segundo, y así sucesivamente. Los números negativos indican un orden desde el final de la tabla. -1 indica el último registro leído.<br><br>Si no se especifica row, se presupone -1. |
| table\_name | Una etiqueta de tabla que no finaliza en dos puntos. Si no se establece table\_name, se asume la tabla actual. Si se utiliza fuera de la sentencia LOAD o referido a otra tabla, habrá de incluirse el nombre de tabla table\_name. |

Limitaciones:

En el primer registro de una tabla interna, la función devolverá NULL.

Ejemplo 1:

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.

`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, porque `  Peek(EmployeeCode,0) ` devuelve el primer valor de EmployeeCode en la tabla EmployeeDates.

Al sustituir el valor del argumento row\_no, devuelve los valores de otras filas de la tabla, del siguiente modo:

`  Peek('EmployeeCode',2) ` devuelve el tercer valor de la tabla: 103.

No obstante, tenga en cuenta que sin especificar la tabla como tercer argumento table\_no, la función hace referencia a la tabla actual (en este caso, interna). El resultado de `  Peek(EmployeeCode,-2) ` son varios valores:

Resultados del ejemplo 1

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

Ejemplo 2:

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

Especificando el argumento table\_no como `'EmployeeDates'`, la función devuelve el penúltimo valor de EmployeeCode en la tabla EmployeeDates: 105.

Ejemplo 3:

La función Peek() se puede utilizar para hacer referencia a datos que aún no se han cargado.

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.

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

Cree una tabla en una hoja de su documento con ID, List y Valor como dimensiones.

Resultados del ejemplo 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 |

La sentencia IF() se crea desde una tabla temporal T1.   
`Peek('ID')` remite al campo ID en la fila previa de la tabla actual T2.  
`Peek('List')` remite al campo List en la fila previa de la tabla T2, que actualmente se está construyendo a medida que se evalúa la expresión.

La sentencia se evalúa de la siguiente manera:  
Si el valor actual de ID es el mismo que el valor previo de ID, entonces escriba el valor de Peek('List') concatenado con el valor actual de Value. En caso contrario, escriba el valor actual de Value solamente.

Si Peek('List') ya contiene un resultado concatenado, el nuevo resultado de Peek('List)' se concatenará a este.

Nota informativaObserve la cláusula Order by. Especifica cómo se ordena la tabla (por ID, en orden ascendente). Sin esto, la función Peek() usará cualquier criterio de ordenación arbitrario de la tabla interna, lo que puede producir resultados impredecibles.

## Más información

* [Etiquetas de Tabla](https://help.qlik.com/es-ES/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/table-labels.htm)
* [Previous - función de script](https://help.qlik.com/es-ES/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/InterRecordFunctions/Previous.htm)