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。从包含上述数据的文件中选择 表格文件 选项。编辑加载脚本以添加以下代码。单击 确定 并单击 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);
创建工作表对象
让我们创建一个表格框工作表对象来显示上述脚本生成的数据。转到菜单项布局 → 新建工作表对象 → 表格框。出现以下窗口,我们在其中输入表格的标题并选择要显示的所需字段。单击"确定"将在 QlikView 表格框中显示来自 csv 文件的数据,如下所示。还请按如下所示设置排序顺序,以使结果的顺序与源中的字段 Month 相同。
完成上述步骤并单击 Finish 后,我们将获得显示数据的表格框,如下所示。
在计算中使用 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);
创建工作表对象
让我们创建一个表格框工作表对象来显示上述脚本生成的数据。 转到菜单项布局 → 新建工作表对象 → 表格框。出现以下窗口,我们在其中输入表格的标题并选择要显示的所需字段。单击"确定"将在 QlikView 表格框中显示来自 CSV 文件的数据,如下所示。