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 檔案的資料,如下所示。還按照如下所示設定排序順序,以便使 月份欄位的結果與源資料中的順序相同。

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

建立工作表物件

讓我們建立一個 表格框工作表物件來顯示上述指令碼生成的資料。轉到選單項 佈局 → 新建工作表物件 → 表格框。將出現以下視窗,在其中我們提及表格的標題並選擇需要顯示的欄位。單擊“確定”將在 QlikView 表格框中顯示來自 CSV 檔案的資料,如下所示。

Monthly_sales_prevmonth_diff
廣告

© . All rights reserved.