润乾报表--使用技巧

1、字符串的截取

     = left(months, 4)+"年XXXX公司生产月报("+right(months,2)+"月)"

     详解:left(String,n) or right(String,n) 参数String为要截取的字符串,n为要截取的位数

                上述当months为2018-10时:left("2018-10",4)显示为2018

     扩展:mid(dailyDate,6,2)  取中间值  与left()、right()函数类似

2、单元格显示值

     =if(value()==0,"",value()) 

     解析:当此单元格的值是0时就显示为空

3、多值起别称

     =decode(表别称.字段名,'1','离职','0','在职')

     解析:设置(表别称.字段名)(多)值的别称

     如:(表别称.字段名)=1时的值为‘离职’,(表别称.字段名)=0时的值为‘在职’

     多值亦可使用,具体使用个数待测

4、 取小数点位数(四舍五入)

     =round(ds1.select(ds1.yearDec,like(ds1.goods,'液晶电视'),n)

     解析:ds1.yearDec为年销量递减率(%),ds1.goods为货物名称,n为小数点位数

     当n=2、ds1.yearDec=3.5236时,货物名称为‘液晶电视’的年销量递减率取小数点后两位(3.52%)

5、decode多值别称

      =decode(表别称.字段名,'1','离职','0','在职')

      解析:字段名,可以设置(表别称.字段名)值的别称

       如:(表别称.字段名)=1时的值为‘离职’,(表别称.字段名)=0时的值为‘在职’

6、 saveAsName

      jsp中设置属性:saveAsName="xxx销量_${params.dailyDate}"

      保存文件自定义名称sxxx销量_xxxx-xx-xx(日期)

7、 NVL函数

       NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。

8、to_date函数

      报表SQL中: to_date(?,'yyyy-mm-dd') 把字符串转换成为指定的日期格式

9、to_char()函数

      报表SQL中: to_char(t.start_one_date, 'yyyy-MM-dd')  把日期转换成为字符串

10、string()函数

       报表展示面上:string(@endDate,"yyyy年MM月dd") 将日期转换成为指定格式的字符串

11、row()函数

       报表展示面上:=row()  当前行号

12、if()函数

       报表展示面上:=if(A7==0,'',B7/D7)条件判断  类似于三元表达式单元格A7==0?'':B7/D7;

       解析:若单元格A7的值为0,单元格A7赋空值,否则赋B7/D7值

13、count()函数

       报表展示面上:=count( ds1.select(ACC,ACC=='2'))  计数器,数据源ds1中ACC值为2出现的次数

14、substr()函数

       报表SQL中:=substr(ds1.appNum,0,7)  截取appNum值的前7位

15、avg()函数

       报表展示面上: =ds1.avg(appNum) 统计数据源ds1中appNum的平均值

16、sum()函数

       报表展示面上:=ds1.sum(A7{}) 统计A7列所有值的和

17、group()函数

       报表展示面上:=ds1.group(appNum) 依据appNum分组

18、select用法

       报表展示面上:select的用法

       例1:ds1.select( name ) 从数据源ds1中选取name字段列的所有值, 不排序

       例2:ds1.select( #2, true ) 从数据源ds1中选取第二个字段列的所有值并降序排列

       例3:ds1.select( name,false,sex=='1') 从数据源ds1中选取性别为男性的name字段列的值并升序排列

       例4:ds1.select( name, true, sex=='1', id ) 从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列

19、double()

     报表展示面上:double(ds1.CDGS_SIZE)

     double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)

20、decimal()

     decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)

21、float()   

     float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)

22、max()函数

     max(ds1.appNum) 获取最大值

23、query()函数

     报表展示面上:query("select tn.name from tableName tn where tn.sex=?","男");

          函数说明: 执行sql语句,返回结果数据集合,只能返回单列数据,如果sql语句中有多个字段,则返回第一个字段的结果值

     语法: query(sqlStatement{,arg1{,arg2{,arg3{,……}}}})

     参数说明: sqlStatement 合法的sql语句 arg(n) sql语句的参数,可以是常数也可以是表达式

     返回值: 一组数据的集合,数据类型由sql语句的第一个选出字段决定

猜你喜欢

转载自blog.csdn.net/GJ454221763/article/details/83660913