润乾报表中临时变量的使用方法

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

一、临时变量的用法:

新建一张报表,设置一个报表参数arg1,在值表达式中输入一个字符串,比如“张三,中国,北京,海淀”:

当参数值传入报表后,需要把这个字符串分隔成几部分,分别显示在报表的不同单元格中,如下图所示:

接着,我们看一下报表达式的设置:

其中,各个表达式如下:

A1: =a=split(arg1,”,”)[1]

B1=b=split(arg1,”,”)[2]

C1=c=split(arg1,”,”)[3]

D1=d=split(arg1,”,”)[4]

这四个表达式的意思是,把arg1这个字符串按照“,”分隔后,截取的第一段赋值给临时变量a,截取的第二段赋值给临时变量b,以此类推。

B3=a

B4=b

B5=c

B6=d

这四个表达式的意思是,分别显示临时变量的值。

预览效果如下:

二、临时变量的好处:

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

在设计报表的时候,我们经常会遇到引用某个单元格的指来当作检索的一个条件,对报表展现的数据进行过滤,来看下面这个例子:

其中各个单元格表达式如下:

A1=to(11,20),单元格动态纵向扩展1120

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

C1=ds1.select1(CUSTOMERID,CONTRACTNO == B1),,单元格以B1单元格的值为检索值,从数据集ds1中检索出CONTRACTNO ==B1的客户编号。

预览结果如下:

可以看到,C1单元格的数据每次被检索出来都要获取B1单元格的值,如果在实际应用中,B列是不需要显示出来的,那么我们就要把B列隐藏掉.下面就通过临时变量来改写这个报表,参见下图:

其中:

A1=to(11,20),单元格动态纵向扩展1120

B1=CONTRACTNO1=”runqian00”+A1,ds1.select1(CUSTOMERID,CONTRACTNO == CONTRACTNO1)

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

从这两个例子对比我们可以发现,B1单元格只是起了一个过渡的作用,并不需要显示出来,通常这个时候,我们会将不需要显示的列设置为隐藏列,但隐藏列虽然不显示出来,可还是会占用内存的,如果扩展的行越多,占用的内存就会越多,如果可以适当的运用临时变量,那么就很容易解决隐藏行列对内存的占用了。

热门文章