QlikView 筆記(五) 通過Partial Reload實現增量抽取
阿新 • • 發佈:2019-02-08
偶然在群裡看到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 |
當然也可以用IsPartialReload()和if.. then ..elseif..then..enif來判斷當前是否使用的部分載入操作,來實現更多的需求。