临时变量

阅读(5704) 标签: 临时变量,

润乾报表引入了临时变量这个概念,临时变量无需定义,可以直接在单元格里通过“=变量名=变量值”的方式给变量赋值后,在其他单元格就可以直接引用该变量名了。同一个变量可以多次赋值,这样跟参数在一个报表里只能赋值一次相比,就灵活多了。

我们以一个例子为例来看看临时变量的用法:

前端输入一个字符串,比如“张三,中国,河北,邢台”,传入报表后,需要把这个字符串分隔成几部分,分别显示在报表的不同单元格中,如下图所示:

这个报表有很多种做法,比如,可以在对应单元格直接通过类似split(arg1,”,”)(1)表达式取值,也可以通过动态参数。当然也可以用我们的临时变量实现:

首先,分别在A1B1C1D1单元格给变量abcd赋值,比如=a=split(arg1,",")(1),即将arg1(“张三,中国,河北,邢台”)分割后的第一段“张三”赋值给变量a

然后,在合适单元格里通过“=变量名”方式,引用变量。比如:B3单元格:=a,则该单元格显示变量a的变量值,B4B5B6单元格同理。

从上面这个例子我们可以看出,使用临时变量无需定义,这样会帮我们免去了些许麻烦,提高了我们制作报表的效率。不仅如此,有时候还能帮我们节省不少内存消耗,这样报表的计算效率也提高了。我们来看下面这个例子:

 

新建报表,内建数据集ds1

A1单元格动态扩展1120

B1单元格通过临时变量,给变量动态赋值;

C1单元格以B1单元格的值为检索值,从数据集ds1中检索出contractno==B1的客户编号。

将报表保存为4.6.rpx,预览结果如下:

很显然,B1单元格只是起了一个过渡的作用,并不需要显示出来,通常这个时候,我们会将不需要显示的列设置为隐藏列,但隐藏列虽然不显示出来,但还是会占用内存的,如果扩展的行越多,占用的内存就会越多,那怎么减少隐藏行列对内存的占用呢?

 

临时变量就很容易帮我们解决了这个问题:

B1C1单元格的表达式写在一个单元格里,用逗号隔开,这样就不必仔多用一个隐藏列了。