web报表工具FineReport的公式编辑框的语法简介
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式,虽然那个编辑框非常不像。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3))。
2.switch语句也是,具体函数我不说了。
3.对于判断用单等号和双等号都行。
4.对于字符串用单引号和双引号都行。
4.1bool只有true或者false。与逻辑还是&&或逻辑还是||。
4.2判断为空的话用isnull()。
4.3format公式。format公式比较灵活。format($$$,"0.00")可以把当前单元格的数字转换成两位小数的形式,也可以用format(12,"预算值:0.00万元")把12变成预算值:12.00万元,这个是不是和自定义显示数据字典神马的有异曲同工之妙啊。有一点要注意的是,满位数年月日的话样式是"yyyy-MM-dd",而不是"yyyy-mm-dd",小写的mm的意思是分钟(minute)。
5.公式中取单元格的话直接用A1这种或者b2,跨sheet取值的语法是sheet1!A1.(英文情况)这些文档有。
6.sql函数,这个是在公式中直接调用数据库的方法。
7.数据集公式。
数据集公式是公式直接调用数据集的方法。这个公式说明中没有(有几个零散的和数据集相关的函数),我说一下。
比如有个模板数据集ds1,其字段为地区、销售员、销量,则可以用ds1.group(地区)获取ds1的地区字段,group是分组,从而容易知道select是列表,ds1.select(销售员)便是列表形式获取销售员字段,可以加上限制条件,比如ds1.select(销售员,销量=111)就是获取销售量为111的销售员集合。
跟数据集相关的几个函数有colcount colname row rowcount 等。
8.层次坐标。
层次坐标是公式里面比较难点的,“可玩性”非常强,东西比较多,只能记住最常用的几个,能解决各种各样BT的需求。较为常用的一个就是排名公式了=count(B3[!0]{B3 > $B3})+1。自己看吧。http://www.finereporthelp.com/help/1/4/7.html
9.过滤公式。
过滤有两个条件类型,其一是公式条件。这个公式有一点点不同的是,可以直接写当前单元格的字段所在数据集的任何字段,相对于普通公式要灵活很多。还拿自带的销量表为例,给地区字段所在单元格过滤,公式条件可以直接写:销量==111。
10.条件属性。
条件属性要说的不是公式方面的,用的多了感觉很自然,但是刚接触的时候感觉不太好理解。简单说下。条件属性面板,上面是属性,下面是条件。当下面的条件满足,也就是返回值是true的时候,执行上面的属性设置。
web报表工具FineReport的公式编辑框的语法简介的更多相关文章
- java报表工具FineReport的公式编辑框的语法简介
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...
- web报表工具FineReport的SQL编辑框的语法简介
感谢大家捧场,这里继续分享关于SQL编辑框的一些语法心得总结,因为数据集定义的面板,也是FineReport报表中最常用的模块之一. 1.我理解的执行过程. 这里其实是生成一个字符串,FineRepo ...
- java报表工具FineReport的SQL编辑框的语法简介
感谢大家捧场,这里继续分享关于SQL编辑框的一些语法心得总结,因为数据集定义的面板,也是FineReport报表中最常用的模块之一. 1.我理解的执行过程. 这里其实是生成一个字符串,FineRepo ...
- web报表工具FineReport的JS编辑框和URL地址栏语法简介
JS编辑框: 1.FineReport的js. 作为一款BS产品,browser端的JavaScript是必不可少的. FineReport中的js是已经调用了finereport.js的. 大家知道 ...
- java报表工具FineReport的JS编辑框和URL地址栏语法简介
JS编辑框: 1.FineReport的js. 作为一款BS产品,browser端的JavaScript是必不可少的. FineReport中的js是已经调用了finereport.js的. 大家知道 ...
- web报表工具FineReport使用中遇到的常见报错及解决办法(二)
web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...
- web报表工具FineReport常用函数的用法总结(日期和时间函数)
web报表工具FineReport常用函数的用法总结(日期和时间函数) 说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd.而且必须用英文环境下双引号(" " ...
- web报表工具FineReport最经常用到部分函数详解
之前分别列出来了finereport常用的文本.时间函数的解释,这里应广大朋友的要求,整理了finereport最常用到的一些函数! SUM SUM(number1,number2,-):求一个指定单 ...
- web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数)
web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数) 说明:凡函数中以日期作为參数因子的,当中日期的形式都必须是yy/mm/dd.并且必须用英文环境下双引號(" & ...
随机推荐
- 开源IMDG之GridGain
作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者.同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存 ...
- PyCharm 开发Django ,错误汇总
近期略微接触了一下Django.在学习的过程中可谓是坎坎坷坷,遇到了很多的问题. 下面就来谈一谈我对Django的一点点的见解. Django项目的创建 使用PyCharm来开发Django项目是非常 ...
- 【ShaderToy】开篇
写在前面 呜呼,好久没有写博客了,好惭愧.题外话,感觉越大就越想家,希望可以一直和家人在一起,哪怕只是坐在一起不说话也觉得很温暖,一想到要分开眼睛就开始酸,哎.开学还是爬上来老实更新博客学习吧~ 今天 ...
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
网络编程 网络模型 *OSI参考模型 *Tcp/IP参考模型 网络通读要素 *IP地址 *端口号 *传输协议 1.找到对方Ip 2.数据要发送到对方指定的的应用程序上,为了标识这些应用程序,所经给这些 ...
- sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数
sql的统计函数 sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值 但注意sum(1)就特殊 sum(1)等同于count(*) sum(1)统计个数,功能和coun ...
- Socket接收器——Acceptor
Acceptor是JIoEndpoint的内部类,主要的职责就是监听是否有客户端套接字连接并接收socket,再将socket交由任务执行者(Executor)执行.不断从系统底层读取socket,接 ...
- PHP(PHP-FPM)手动编译安装
1安装PHP 1.1下载解压 wget http://museum.php.net/php5/php-5.3.5.tar.gz tarxzvf php-5.3.5.tar.gz cdphp-5.3.5 ...
- Linux驱动基础:MSM平台AP/CP通信机制
点击打开链接 概述 MSM平台AP和CP封装到一个芯片,共享内容.所以之前也说过,高通的MSM解决方案中,CP的代码都是由AP放到指定地址的内存中以供CP运行.那上传完代码,CP开始跑之后,AP/CP ...
- Oracle开发环境搭建
一.软件准备 地址:oracle官网 安装包:因为个人学习用,所以就安装服务器端就可以了,不需要客户端. 一共两个压缩文件,解压时一起解压到到一个文件夹. 本人使用的:win32_11gR2_data ...
- Mybatis接口编程原理分析(二)
在上一篇博客中 Mybatis接口编程原理分析(一)中我们介绍了MapperProxyFactory和MapperProxy,接下来我们要介绍的是MapperMethod MapperMethod:它 ...