QlikView - Función Peek

los peek() La función en QlikView se utiliza para obtener el valor de un campo de un registro anterior y utilizarlo en los cálculos.

Los datos de entrada

Consideremos la cifra de ventas mensuales como se muestra a continuación. Guarde los datos con el nombre de archivo month_sales.csv.

Month,Sales Volume
March,2145
April,2458
May,1245
June,5124
July,7421
August,2584
September,5314
October,7846
November,6532
December,4625
January,8547
February,3265

Cargar script

Los datos anteriores se cargan en la memoria QlikView mediante el editor de scripts. Abra el editor de secuencias de comandos desde el menú Archivo o presioneControl+E. Elegir elTable Filesopción de para el archivo que contiene los datos anteriores. Edite el script de carga para agregar el siguiente código. Hacer clicOK y haga clic en Control+R para cargar los datos en la memoria de QlikView.

LOAD Month, 
     [Sales Volume],
     peek('Sales Volume') as Prevmonth
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Crear objeto de hoja

Creemos un Table Boxobjeto de hoja para mostrar los datos generados por el script anterior. Ir al elemento del menúLayout → New Sheet Object → Table Box. Aparece la siguiente ventana en la que mencionamos el Título de la tabla y seleccionamos los campos obligatorios a visualizar. Al hacer clic en Aceptar, se muestran los datos del archivo csv en el cuadro de tabla QlikView como se muestra a continuación. También configure el orden de clasificación como se muestra a continuación para obtener el resultado en el mismo orden del campoMonth como está en la fuente.

Al completar los pasos anteriores y hacer clic Finish, obtenemos el cuadro Tabla que muestra los datos que se indican a continuación.

Uso de la función peek () en cálculos

los peek()se puede utilizar en cálculos con otras columnas. Visualicemos el cambio porcentual del volumen de ventas de cada mes. El siguiente script logra este resultado.

LOAD
Month, [Sales Volume],
peek('Sales Volume') as Prevvolume,
(([Sales Volume]-peek('Sales Volume')))/peek('Sales Volume')*100  as Difference
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Crear objeto de hoja

Creemos un Table Boxobjeto de hoja para mostrar los datos generados por el script anterior. Ir al elemento del menúLayout → New Sheet Object → Table Box. Aparece la siguiente ventana en la que mencionamos el Título de la tabla y seleccionamos los campos obligatorios a visualizar. Al hacer clic en Aceptar, se muestran los datos del archivo CSV en el cuadro de tabla QlikView como se muestra a continuación.