偶然在群里看到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来判断当前是否使用的部分加载操作,来实现更多的需求。
本文介绍QlikView中PartialReload功能的使用方法,并通过具体示例展示了如何利用add及only关键字实现增量加载,有效提升数据加载效率。





