工作中使用的sql以及finereport报表工具
2013-03-09 13:46
330 查看
最近公司让开发统计报表,之前的报表是使用jxl工具开发的,这个工具是免费开源的,不易使用,不易维护。
最近公司买了帆软的finereport报表工具软件,开发非常高效,几个小时报表开发出来了,可以单独使用,也可以嵌入到我们自己的系统中。
功能非常强大,我在工作终于到的问题主要有:
1. 一个报表来自多个数据源,不能一个sql搞定。 多个数据源,嵌套绑定。
2.页面有空分页:删除没有填充数据的空白多余行列,以及多余的sheet页。
3.列数过多自动分页,请求连接加上:&__bypagesize__=false
4.其中一个功能是把数据查出来,导入到临时表中,再进行一次查询,这个功能请教finereport技术支持他们也没有办法,后来明白过来直接一个sql搞定,在下面有sql。
5.查询出来的是一些id号,通过他们的形态设置,关联到有意义的字典表中,查出具体值来。
6.数字连接,查出的结果需要连接到具体有意义的列表中。
7.显示行序号,可以在单元格中添加公式::输入公式=seq()
自定义函数中获取公式所在单元格 二次开发 >> 引擎API >> 自定义函数 >> 自定义函数中获取公式所在单元格
Excel导出的多种方式 二次开发 >> 引擎API >> 导出API >> Excel导出的多种方式
后台批量导出Excel 二次开发 >> 引擎API >> 导出API >> 后台批量导出Excel
页面设置 用户手册 >> 设计器操作指南 >> 模板 >> 页面设置
报表页眉与页脚 用户手册 >> 设计器操作指南 >> 模板 >> 报表页眉与页脚
不分页显示 数据用户手册 >> 预览模式 >> 不分页显示数据
隐藏行 列用户手册 >> 单元格模型 >> 单元格样式 >> 隐藏行列
单元格web显示 用户手册 >> 单元格模型 >> 单元格Web属性 >> 单元格web显示
数据显示格式-样式 初级报表 >> 网格式报表-数据的扩展 >> 数据显示格式-样式
添加预警,间隔背景色-条件 初级报表 >> 网格式报表-数据的扩展 >> 添加预警,间隔背景色-条件
层次坐标 总结高级报表 >> 动态格间运算 >> 层次坐标总结
数据钻取 高级报表 >> 数据钻取
标题 高级报表 >> 高级图表 >> 图表样式 >> 标题
巧用参数注入 高级报表 >> 报表性能优化 >> 巧用参数注入
除数被除数为零的处理 高级报表 >> 高级报表FAQ >> 除数被除数为零的处理
&A4%2 == 0 隔行换色
&A4%20 == 0 行后分页
len($$$) = 0 条件属性-如值长度为0,显示新值为0或者其他值。可以截取字符串。
比较好的例子:reportlets\doc\Advanced\PrintReport\SelectPrint.cpt
reportlets\demo\parameter\multivalue.cpt 隔行换色,页面顶端显示统计开始结束时间,页面末尾描述信息
multipage.cpt
--按操作用户,时间统计的客户重复投诉次数
select main.operateuserid,main.complainttype5 ,count(distinct main.mainid) as f1 from v_complaint main where main.sendtime>'2013-02-01 00:00:00' and main.sendtime<'2013-02-28 23:59:59'
and main.operateuserid = 'zhijianjqr'
group by main.operateuserid,main.complainttype5
having count(main.mainid)>=2
---按操作用户,时间,客户重复号 分别统计
select main.operateuserid,main.complainttype5, sum(case when main.num=2 then 1 else 0 end) as f2,sum(case when main.num=3 then 1 else 0 end) as f3,
sum(case when main.num=4 then 1 else 0 end) as f4,sum(case when main.num=5 then 1 else 0 end) as f5,sum(case when main.num=6 then 1 else 0 end) as f6,
sum(main.num) as f7 from
(
select main.operateuserid,main.complainttype5 ,main.customphone,count(main.mainid) as num from v_complaint main where main.sendtime>'2013-02-21 00:00:00' and main.sendtime<'2013-02-28 23:59:59'
and main.operateuserid = 'zhijianjqr'
group by main.operateuserid,main.complainttype5,main.customphone
having count(main.mainid)>=2
) as main
group by main.operateuserid,main.complainttype5
最近公司买了帆软的finereport报表工具软件,开发非常高效,几个小时报表开发出来了,可以单独使用,也可以嵌入到我们自己的系统中。
功能非常强大,我在工作终于到的问题主要有:
1. 一个报表来自多个数据源,不能一个sql搞定。 多个数据源,嵌套绑定。
2.页面有空分页:删除没有填充数据的空白多余行列,以及多余的sheet页。
3.列数过多自动分页,请求连接加上:&__bypagesize__=false
4.其中一个功能是把数据查出来,导入到临时表中,再进行一次查询,这个功能请教finereport技术支持他们也没有办法,后来明白过来直接一个sql搞定,在下面有sql。
5.查询出来的是一些id号,通过他们的形态设置,关联到有意义的字典表中,查出具体值来。
6.数字连接,查出的结果需要连接到具体有意义的列表中。
7.显示行序号,可以在单元格中添加公式::输入公式=seq()
分页预览改变鼠标所在行的颜色
二次开发 >> JavaScript >> FR的JS实例 >> 分页预览JS实例 >> 分页预览改变鼠标所在行的颜色禁用右键
二次开发 >> JavaScript >> FR的JS实例 >> 分页预览JS实例 >> 禁用右键
获得分页预览单元格 次开发 >> JavaScript >> FR的JS实例 >> 分页预览JS实例 >> 获得分页预览单元格自定义函数中获取公式所在单元格 二次开发 >> 引擎API >> 自定义函数 >> 自定义函数中获取公式所在单元格
Excel导出的多种方式 二次开发 >> 引擎API >> 导出API >> Excel导出的多种方式
后台批量导出Excel 二次开发 >> 引擎API >> 导出API >> 后台批量导出Excel
页面设置 用户手册 >> 设计器操作指南 >> 模板 >> 页面设置
报表页眉与页脚 用户手册 >> 设计器操作指南 >> 模板 >> 报表页眉与页脚
不分页显示 数据用户手册 >> 预览模式 >> 不分页显示数据
隐藏行 列用户手册 >> 单元格模型 >> 单元格样式 >> 隐藏行列
单元格web显示 用户手册 >> 单元格模型 >> 单元格Web属性 >> 单元格web显示
数据显示格式-样式 初级报表 >> 网格式报表-数据的扩展 >> 数据显示格式-样式
添加预警,间隔背景色-条件 初级报表 >> 网格式报表-数据的扩展 >> 添加预警,间隔背景色-条件
层次坐标 总结高级报表 >> 动态格间运算 >> 层次坐标总结
数据钻取 高级报表 >> 数据钻取
标题 高级报表 >> 高级图表 >> 图表样式 >> 标题
巧用参数注入 高级报表 >> 报表性能优化 >> 巧用参数注入
除数被除数为零的处理 高级报表 >> 高级报表FAQ >> 除数被除数为零的处理
&A4%2 == 0 隔行换色
&A4%20 == 0 行后分页
len($$$) = 0 条件属性-如值长度为0,显示新值为0或者其他值。可以截取字符串。
比较好的例子:reportlets\doc\Advanced\PrintReport\SelectPrint.cpt
reportlets\demo\parameter\multivalue.cpt 隔行换色,页面顶端显示统计开始结束时间,页面末尾描述信息
multipage.cpt
--按操作用户,时间统计的客户重复投诉次数
select main.operateuserid,main.complainttype5 ,count(distinct main.mainid) as f1 from v_complaint main where main.sendtime>'2013-02-01 00:00:00' and main.sendtime<'2013-02-28 23:59:59'
and main.operateuserid = 'zhijianjqr'
group by main.operateuserid,main.complainttype5
having count(main.mainid)>=2
---按操作用户,时间,客户重复号 分别统计
select main.operateuserid,main.complainttype5, sum(case when main.num=2 then 1 else 0 end) as f2,sum(case when main.num=3 then 1 else 0 end) as f3,
sum(case when main.num=4 then 1 else 0 end) as f4,sum(case when main.num=5 then 1 else 0 end) as f5,sum(case when main.num=6 then 1 else 0 end) as f6,
sum(main.num) as f7 from
(
select main.operateuserid,main.complainttype5 ,main.customphone,count(main.mainid) as num from v_complaint main where main.sendtime>'2013-02-21 00:00:00' and main.sendtime<'2013-02-28 23:59:59'
and main.operateuserid = 'zhijianjqr'
group by main.operateuserid,main.complainttype5,main.customphone
having count(main.mainid)>=2
) as main
group by main.operateuserid,main.complainttype5
相关文章推荐
- .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
- 网络协议分析工具Wireshark的使用、用Wireshark观察ARP协议以及ping命令的工作过程分析以太网报文格式
- 使用PL/SQL工具 导入SQL文件
- Wireshark抓包工具使用教程以及常用抓包规则
- 使用SQLCOMMAND以及SQLADAPERT 调用存储过程
- 使用mybatis自带工具,自动生成表对应domain、mapper.xml以及dao
- oracle 数据迁移工具 oracle sql developer的使用(2)
- 工作中常用的sql语句以及知识整理
- java项目使用log4j工具类(非web项目)以及log4j.properties文件详解
- 使用Oracle 11g(64bit) 开发工具(SQL Developer/ PL SQL Developer)时遇到的问题
- 使用解释工具分析SQL语句
- 计算mp3时间以及位速工具(使用JMF框架)
- SQL转换成FetchXML的工具网站http://www.sql2fetchxml.com 使用说明
- sql server group by 介绍以及使用
- 我在工作中使用的同步协作工具
- 基于linux的正则表达式以及工具的使用
- 微信公众号测试账号开发以及natapp内外网映射工具使用
- SQLServe_使用T-SQL语句创建数据库、创建表以及表的约束
- 再谈STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结
- Oracle存储过程单步调试方法(使用pl/sql developer工具)