QlikView - Peek功能

QlikView中的 peek()函数用于从先前记录
中获取字段的值,并在计算中使用它.

输入数据

让我们考虑月度销售数字,如下所示.使用文件名保存数据
monthly_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

加载脚本

使用脚本编辑器将上述数据加载到QlikView内存中.从文件菜单中打开脚本编辑器或按 Control + E .从包含上述数据的文件中选择表文件选项.编辑load
脚本以添加以下代码.单击确定并单击 Control + R 将数据加载到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);

创建工作表对象

让我们创建一个表格框工作表对象来显示上述脚本生成的数据.转到菜单项 Layout →  New Sheet Object → 表格框.出现以下窗口,其中我们提到表的标题并选择要显示的必填字段.单击"确定"将显示QlikView表格框中csv文件的数据,如下所示.同时设置如下所示的排序顺序,使得结果与字段的顺序相同,因为它在源中.

Monthly_sales_load_order

完成上述步骤并单击完成后,我们得到表格框,显示数据
如下所示.

Monthly_sales_prevmonth

使用peek()函数计算

peek()可用于涉及其他列的计算.让我们显示每个月销量的百分比变化.以下脚本实现了此结果.

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

创建工作表对象

让我们创建一个表格框工作表对象来显示由以上脚本.
进入菜单项 Layout →  New Sheet Object → 表格框.出现以下窗口,其中我们提到表的标题并选择要显示的必填字段.单击OK显示QlikView表格框中CSV文件的数据,如下所示.

Monthly_sales_prevmonth_diff