目录

临时变量

临时变量

润乾报表引入了临时变量这个概念,临时变量无需定义,可以直接在单元格里通过“=变量名=变量值”的方式给变量赋值后,在其他单元格就可以直接引用该变量名了。同一个变量可以多次赋值,这样跟参数在一个报表里只能赋值一次相比,就灵活多了。 我们以一个例子为例来看看临时变量的用法: 前端输入一个字符串,比如“张三,中国,河北,邢台”,传入报表后,需要把这个字符串分隔成几部分,分别显示在报表的不同单元格中,如下图所示:


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


首先,分别在A1,B1,C1,D1单元格给变量a,b,c,d赋值,比如=a=split(arg1,",")[1],即将arg1(“张三,中国,河北,邢台”)分割后的第一段“张三”赋值给变量a。

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


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


A1单元格动态扩展11至20; B1单元格通过临时变量,给变量动态赋值; C1单元格以B1单元格的值为检索值,从数据集ds1中检索出contractno==B1的客户编号。 预览结果如下:


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


将B1和C1单元格的表达式写在一个单元格里,用逗号隔开,这样,就不用多用一个隐藏列了。(注意此时检索条件为CONTRACTNO == contractno1)