如何避免左主格跟着扩展的问题

在制作报表中我们经常会遇到这样的问题,那就是:如何避免右边的一个格子跟着左边的进行扩展,在报表中B1单元格的左主格默认是A1,那么如何避免这种现象的发生呢?其实是有两种解决方法的

一. 通过主子表实现:这也是最常用到的,在这里就不详细的介绍了,具体做法请参照初级教程中第九章 主子表

下面要详细介绍的是第二种方法:

可以通过to()和valueat()函数实现,这种方法跟第一种方法比较稍微比较复杂,原因是得算出扩展多少个格子,然后计算数据集中满足条件的记录数,下面是一个例子的做法

新建两个数据集ds1和ds2,

ds1中:

ds2中:

对比可知:ds2比ds1多了id为6和7的数据

如果报表做为:

这种情况下预览效果为:

会成”类似”这种样子,那么如何才能实现下面这种样式?

这时就得用到to(), valueat(), ds.count()函数,报表设计为:

A1单元格作用是:利用ds2比ds1多两个数,让A1单元格扩展出0到6

B1、C1单元格作用是:通过valueat()根据指定位置A1单元格返回表达式中的某一个元素,这样就可以解决如何避免左主格也跟着扩展的问题了,一般情况下推荐使用方法一(主子表)的形式。