报表多列同时纵向扩展

报表设计时属性中有对报表中分栏的设置,通过简单的设置可以完成分栏报表的设计,在页面上展示出来分栏的效果。有些客户在进行设计时需要在报表的内部根据相关的条件进行分栏展示,本篇文章就着重介绍一下这种报表的设置方法。

首先先看一下数据库表结构和数据:

其中,Pname是 姓名,PYEAR 是入职年份。

按照年分分类,然后在每个年份下循序显示所有的姓名,这个报表如何实现呢?

实现思路:先用group()函数对年份进行分组。然后将每个年份下的数据取出来用valueat()函数进行匹配。下面是报表的设计:



C2中 =ds1.Group(PYEAR),按照年份分组。

C3中 =ds1.count(),主要目的是计算出每个年份下有多少条记录。

B3中 =max(C3{}),取到所有年份下,记录条数最多一个年份的记录数。

B4中 =to(1,B3),扩展出需要的行数,以便所有的记录都能显示出来,而且为数据的扩展提供其中一个参数。

C4中 =valueat(ds1.select(Pname),B4-1),使用ds1.select(Pname)函数取得当年的所有记录,然后再用valueat()函数配合B4提供的参数取得数据集内相应的数据。

在web中展示如下:



这样报表就设计完了,客户可以根据自己的需求隐藏掉相关行,也可以根据需要在数据的左侧匹配上相关的数据,满足客户的各种需求。

热门文章