在数据处理时我们经常会遇到这样的场景:
某些事实表DBA会定期进行备份,运气好点的就只是加个日期后缀,运气差点那表名就是乱起的;
又或者一些集团公司下属几十上百个子公司都有各自的数据库,库名又是毫无规律可循…
这种情况如果老老实实的一张表一张表写查询代码,那重复工作可就多了去了,而且上线后人家又备份了一张表多开个子公司呢,难道还回头去改脚本么?
今天教你一招,我们可以使用For循环,将相同结构的多张表甚至是多个数据库进行循环加载,只要维护一份目录表,就不用回头重新修改代码了。这个方法不仅适用于Qlik,很多其他数据分析软件都可以用哦,是个很赞很实用的方法。
这里有9张不同地区提供的数据表,数据结构都是一样的
首先我们做一个目录表,把所有表的表名按顺序罗列出来,记得标上序号
然后进入Qlik脚本编辑器中加载目录表,并且添加变量计算目录表行数
下面开始写For循环语句了
用之前添加的目录行数变量作为循环次数,使用Peek函数获取每次循环的表名,Peek函数是从第0行开始算的,所以一定要-1;
脚本写好了,执行加载!
就得到包含9张表所有数据的一张大表了!
同样道理,我们只要将目录表中的表名替换成库名,For循环中加载的一张表换成整个数据库,就可以很方便的加载多个相同结构的数据库了。
通过For循环加载多个数据表或库,不但能够简化开发,而且维护起来也是相当顺手,对开发者及维护者都节省了大量工作。
是不是觉得这种方法很好用,大大节省了时间和成本,一个好工具更能帮助你事半功倍。不妨试试Qlik desktop版,全新的数据分析与可视化体验,让你对报表不再头疼。
国内领先的大数据整体解决方案
为客户提供大数据分析平台端到端的解决方案
Ebistrategy
亦 策 软 件
400-676-1711
长按关注