QlikView中的计数函数与记录函数

浏览: 3036

先来打个广告,大家期待已久的正式版的QlikView开发课程已经正式上线了,大家可以登陆http://www.hellobi.com/course/62进行系统的学习,本课程共计21课,包含了几乎所有QV开发者所关心的问题和知识点,相信会对大家技术水平的提高有很大的帮助。

言归正传,我们今天来讨论一下QlikView中的计数与记录函数,主要包括RecNo,RowNo与NoOfRows。

首先,RecNo函数返回从数据源中读取到的数据行数,该行数从1开始,每读取一行数字加一;RowNo函数返回QlikView内部表中每一行所在的位置,该行数从1开始,每读取一行数字加一。简而言之,RecNo是从数据源开始计数,而RowNo是从内部表开始计数。

参考下面的脚本,我们根据Temp表生成了一个新表,该表新增了由RecNo和RowNo函数生成的两个新列,最后用where语句限定了从数据源中读取到的数据。




下图展示了该脚本的执行结果。RecNo列从1开始到10,但是缺少3,这是因为当从数据源Temp读取数据的时候,3被过滤掉了,也就是说RecNo是根据数据源里面的值而生成的,相当于在生成Table表之前,该值已经存在了。再来看RowNo,RowNo列从1开始到9,并且是连续的,看上去被过滤掉的数据对该函数没有影响,这是因为RowNo生成的值是根据最后生成的结果表Table而来的,计算的是Table表的每一行的行数,所以还是那句话:RecNo是从数据源开始计数,而RowNo是从内部表开始计数。



我们再来看另外一个函数NoOfRows,该函数只能用于透视表,不能用于后台脚本,而RecNo则只能用于后台脚本。NoOfRows展示了透视表中当前分组的数据行,如果加上total关键字,则展示了该透视表中整个分组的数据行数,另外RowNo函数也是可以用于透视表中的。参考下图。



推荐 5
本文由 曹浩 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

课程不错,支持曹老师

要回复文章请先登录注册