1. 程式人生 > >QlikView 筆記(五) 通過Partial Reload實現增量抽取

QlikView 筆記(五) 通過Partial Reload實現增量抽取

偶然在群裡看到QV能不能做增量抽取的功能,遂翻了一下官方文件,找到了圍繞Partial Reload的幾個相關性比較大的可能實現增量抽取的函式。如有錯誤歡迎指正,謝謝。

Qlikview裡有一個功能很少用到,Partial Reload(部分重新載入),因為在指令碼編輯頁,QMC(QlikView Management Console)頁面預設的都是Reload(常規重新載入),所以很少有開發者會注意到部分載入。


我們要用到的方法分別有add、exist()、IsPartialReload()。

做個簡單的例子:

我有一個employee.csv檔案,本來裡面有1個員工ID為9999,為了讓效能差一點,這邊用For迴圈載入5000條記錄,第一次重新整理會load5001條記錄,如果我更新了employee.csv檔案,則實現增量的話就得實現只加載employee裡新加入的記錄。

下面是指令碼: 先建立變數記錄開始和結束的時間並列印在log中,for迴圈載入5000條記錄,add後可加only關鍵字,意為只在partial reload模式下執行,若不加則兩種模式都執行。


下面是第一次常規載入執行的結果:耗時11秒,載入5001條記錄。


下面給employee.csv檔案加一條記錄,然後執行部分載入操作,看這次的duration是不是11sec以下:

id name
9999 name9999
add1 add1
部分載入執行結果:用時2秒,足以說明實現了增量載入的操作。


當然也可以用IsPartialReload()和if.. then ..elseif..then..enif來判斷當前是否使用的部分載入操作,來實現更多的需求。