您好,欢迎访问一九零五行业门户网

PartialLoad在QlikView中的用途

问题描述: 诚然,partial load是一个好东西,上一篇博客里面有具体讲到它的使用方法和具体效果。可是,今天和小伙伴讨论之后发现,在实际生产环境中并没有太多其用武之地。 主要原因是: partial load确实不会执行没有添加add或者replace的load语句,可是pa
问题描述:
诚然,partial load是一个好东西,上一篇博客里面有具体讲到它的使用方法和具体效果。可是,今天和小伙伴讨论之后发现,在实际生产环境中并没有太多其用武之地。
主要原因是:
partial load确实不会执行没有添加add或者replace的load语句,可是partial load却会执行其他语句比如判断或者计算某table里面的行数等命令。因此,由于没有执行其他语句所关联的load语句,比如 let vrow = rowno(tablename),script中有其他条件用于判断这个vrow的,则通不过这个条件。或者某些concatenate语句需要用到那些没有加载的table,则程序就会报错。
那么,是否partial load的意义就不大了呢?实则不然,即便partial load在现在的qlikview 11版本中有诸多不如意,但在我们做开发的时候却仍然可以减少我们很多load数据的时间。
比如,我的一个dashboard load完所有数据之后,已经有500兆了,每次load完所有数据的时间需要四十分钟左右。在load完之后我发现,我的某一个script写错了,我就得重新load所有数据吗?了解partial load的小伙伴看到这里也许就恍然大悟了:我们可以暂时在开发阶段使用partial load,在上production或者其他稳定环境的时候用reload加载所有数据。 有的小伙伴会问了,如何暂时避免执行那些不想执行的命令呢? 我的方法是,在所有代码最前面用ispartialload先判断一下:
if ispartialload() then
your partial load script
else
other script
endif
把你要partial load的语句在这里测试好之后,再进行整个load,会大大的节省开发时间。
还有一种用途是:由于我们项目现在的solution是将measure写在excel里面的,如此一来测试新写的measure就不需要再重新load所有数据了。大大的提高开发效率有木有。
总结,用qlikview community上那些大牛们的话说就是:partial load is not do nothing. 期待qlikview以后版本中的partial load中再遇到引用普通load的table时能够去获得已经存在于内存中的table值而不要因为本次partial load没有加载普通load的table而使某些值为空导致某些命令报错。
因此,在现阶段,partial load并不特别适用于incremental load,后面我会介绍incremental load 的其他方法。
但是,在开发阶段使用partial load测试正在开发的脚本还是能非常节省时间。
其它类似信息

推荐信息