类excel报表开发工具FineReport教程之服务器性能优化:并发数

合集下载

类excel报表开发工具FineReport教程之

类excel报表开发工具FineReport教程之

类excel报表开发工具FineReport教程之Tomcat服务器Tomcat服务器部署1.描述tomcat是免费且性能相对稳定的web应用服务器,在许多中小型企业中很受欢迎。

FR支持的tomcat版本:tomcat5.0以上版本FR支持的JDK版本:JDK1.4或以上版本注意事项:所有版本tomcat部署步骤基本相同,jdk版本需要与操作系统对应,如32位的系统对应只能使用32位的jdk。

建议:建议使用解压版tomcat和jdk注:7.1.1版本不支持jdk1.4版本,需要jdk1.5以上版本。

2.部署步骤以下示例环境为Win7+tomcat7+jdk1.7,其他版本步骤相同。

2.1独立部署独立部署就是将FineReport应用集成到新的Web工程把FineReport_7.1安装目录下的WebReport文件拷贝到%Tomcat_HOME%/webapps/下:应用名WebReport可以根据需要改变,如可以改为“FineReport”。

2.2嵌入式部署嵌入式部署将FineReport应用集成到已有的Web工程在此使用%Tomcat_HOME%\webapps\目录下的tomcat自带的examples工程: 复制目录将%FineReport_HOME%\WebReport\WEB-INF目录下面的classes,lib,reportlets,resources四个目录复制到%Tomcat_HOME% \webapps\examples\WEB-INF下。

注意:%FineReport_HOME%\WebReport\WEB-INF\classes文件夹下面可能会放置一些网络报表的class文件,在和您的工程集成时并无冲突。

有关网络报表的介绍,可以在二次开发文档中找到。

整合web.xml文件tomcat集成只需要在已有工程的web.xml中添加相应的servlet与servlet-mapping 子元素。

类excel报表开发工具FineReport教程之性能优化

类excel报表开发工具FineReport教程之性能优化

类excel报表开发工具FineReport教程之性能优化1.为何要性能优化您是否遇到访问一张报表时加载时间很长?或者频繁访问大数据量报表占用了过多的服务器内存而导致内存溢出?又或者过多的用户并发访问的时候服务器承受压力过大导致服务器崩溃?您是否有这样的感想,访问了一张复杂报表,数分钟后再次访问了同样的报表,却发现还需等待相同的时间才看到结果,这太不人性化!您是否因为频繁地出现请求超时而恼火?您是否......若您遇到了以上的种种情况,这说明您的报表系统需要进行性能优化,赶紧行动起来吧,让您的报表系统运行地更快更顺畅!2.影响性能的因素以上种种性能缺陷是如何产生的呢?一般有如下几方面存在性能问题:2.1报表取数一般来说,报表越复杂,所涉及到的后台数据库基础表也就越多。

除了格式简单的列表式报表需要在报表中显示超大的数据量外,大部分的报表是从几十万或者几百万的源数据中,筛选,运算返回几十条或几百条不等的数据结果。

如果取数使用的方法不恰当,报表取数时间就会过长,从而影响性能。

2.2报表制作报表制作时往往会使用字段的关联、高亮、数据字典、公式计算等等报表内置的功能,如果这些功能使用的不正确,或者报表存在多余的设置,这样就会因为这些不必要的设置而增加计算时间,从而影响性能。

2.3服务器性能FineReport作为纯JAVA软件,可以与J2EE的应用无缝集成,集成至服务器的报表就会继承服务器的资源。

服务器的虚拟内存、连接池的设置等等往往会导致很多性能问题。

3.FineReport如何优化性能针对影响性能的因素,FineReport有不同的优化方案。

如对SQL的优化,使用存储过程等优化取数过程;减少冗余单元格及不必要的设置从而加快报表计算时间;采用并发设置,缓存设置,集群等提高服务器性能等等。

言而简之,FineReport性能优化,主要包括两个方面:一、报表性能优化;二、服务器性能优化。

具体优化方法我们将在本章下面进行详细介绍。

FineReport服务器配置专题

FineReport服务器配置专题

可选择邮件通讯录里面的用户邮箱,或者手动输入收件人邮箱地址,接下来,我们看到 此对话框中的一些设置就与直接用邮箱发送内容的步骤一样。
数据连接的查看与修改

问题描述 解决方案

管理平台查看数据连接 修改数据连接
1. 问题描述
报表部署到服务器,没有安装设计器,怎样查看当前报表连接了哪些数据库呢?或者怎 样修改数据库的名字和服务器的 ip 地址呢?

帆软(中国)有限公司 商务咨询电话:86-025-5186 2240 商务咨询邮箱:business@ 公司网址: 8
FineReport------报表技术领跑者
2. 该版本支持功能列表
管理平台里面列出报表的功能,打上勾的则代码可以使用,打上叉的此版本不支持对应 的功能,没有注册的话,所有功能都可以使用。
263

3.2 邮件通讯录配置

建服务器数据集
打开设计器>服务器>服务器数据集,新建服务器数据集为邮件通讯录。

设置邮件通讯录
打开邮件通讯录设置窗口,选择定义好的邮件通讯录的服务器数据集、用户名和邮箱对 应列,提交,模板发送邮件时下拉复选框里面就有设计好的邮件通讯录了。

FineReport------报表技术领跑者
获取报表所在服务器所有 Mac 地址,方便生成的 lic 文件进行对比,如果注册文件中 Mac 地址跟服务器里面的 Mac 地址里面的其中一个相同,lic 文件有效。
5. 版本信息
版本信息里面包含是否注册、注册的 Mac 地址、可访问模板的 IP 个数等。

帆软(中国)有限公司 商务咨询电话:86-025-5186 2240 商务咨询邮箱:business@ 公司网址: 4

报表管理FineReport报表性能优化(3)

报表管理FineReport报表性能优化(3)

报表管理FineReport报表性能优化(3)启用行引擎执行层式报表1. 问题描述这样一种报表:报表形式非常简单,只是简单的单数据源明细报表,但是数据量非常大,百万、千万甚至更多。

报表取数及计算时间相当长。

希望能够提高报表展示速度,对于用户来说,查询报表不会有滞后的感觉。

2. 解决方案2.1 解决方案对于单数据源明细报表,可以启用行引擎来执行报表,提高报表展示速度,优化用户体验。

2.2 原理普通报表:取出全部数据后再执行报表,最后返回整体的报表结果给浏览器,用户访问到看到结果的时间=报表取数时间+报表执行时间;行引擎报表:边取数边执行报表,执行到哪页用户就可以看到哪页,用户访问到看到结果的时间=首页数据读取时间+首页计算时间。

2.3 注意事项行引擎报表注重的是性能,由原理我们可以想象,对于行引擎报表,每页的计算必须是独立的,即报表不能有单元格关联的复杂运算,类似,为了提高行引擎报表的性能,FR舍弃了一些复杂的功能:行引擎报表只适用于单数据源、即单元格过滤不能使用,且必须是简单明细表,同时也不支持计算、条件属性等复杂报表功能。

3. 实现步骤我们以mysql数据库为例,将里面的S订单明细的数据用行式引擎显示,每页显示30行,设置如下:3.1 新建数据集数据集ds1:SELECT * FROM S订单明细。

3.2 模板主体设计如下图,将表中的列全部拖曳至模板主体中:3.3 行式引擎设置选择模板>报表引擎属性,勾选用行式的引擎来执行报表,再勾选下面的使用按页运算分段执行报表,每页记录数使用默认值30,如下图:3.4 效果查看点击分页预览,效果如下:行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005等必须手动编写分页sql,才能实现按页取数,对于需要编写分页sql的数据库,请参考单数据源实现层式报表章节。

FineReport报表软件设计流程及步骤

FineReport报表软件设计流程及步骤

FineReport报表软件设计流程及步骤一般来说,一个完整的报表设计流程,大体分为如下几个步骤:1:打开设计器2:配置数据源3:新建报表4:配置私有数据源5:报表设计6:预览报表7:发布报表第一部分:配置数据源步骤一:新建数据库打开报表设计器,在设计器最上方的菜单栏当中,选择服务器,在该下拉菜单当中选择公有的数据源管理器,弹出一个数据源管理器对话框。

点击该对话框左上角的增加数据源按钮来添加新的数据源。

在这里我们为数据源命名为FRDemo。

用鼠标选中刚刚命名的数据源,右边显示对应的数据源属性编辑面板,共有五项属性:驱动,URL,用户名和密码,以及一个测试数据库连接按钮。

步骤二:设置数据库属性首先设置驱动器,在驱动项中选择sun.jdbc.odbc.JdbcOdbcDriver,然后点击URL文本框旁边的…按钮,系统会根据选择的驱动自动显示对应的URL格式。

将jdbc:odbc:DatabaseName中的DatabaseName换成正在使用的数据库的名字:FRDemo,即jdbc:odbc:FRDemo。

由于FRDemo并未设置用户名和密码,因此这两项属性留空。

点击测试连接按钮,系统弹出连接成功的消息框表明数据库连接成功。

如果您的数据库并非Microsoft Access数据库,请根据您原有数据源选择其数据源驱动器。

因为URL是根据您的数据源类型来设定的,单击后面的按钮则生成URL的对应模本,如您的数据库是Mysql,那么在驱动程序框中选择“org.gjt.mm.mysql.Driver”,对应可以生成URL 为“jdbc:mysql://localhost/DatabaseName”,将DataBaseName更换成您的数据库名字。

下面依次填写您数据库的用户名和密码,如没有则留空。

配置完成后选择下面的“测试链接”,如链接成功则可以进入下一个步骤。

如非本地数据源请将其中的localhost换成数据库的IP;如在local后有“:”则将“:”后的数字改为对应的网络服务器端口即可。

FineReport完整教程_Yjy

FineReport完整教程_Yjy

目录表第一章 FineReport报表综述 (2)第一章第二章 FineReport功能详述 (3)第二章FineReport实现同期比(一)FineReport实现分组汇总(二)FineReport实现条件汇总(三)FineReport实现排名(四)FineReport实现组内序号(五)FineReport实现累计报表(六)FineReport实现占比报表(七)FineReport制作按段分组报表(八)FineReport制作条件分组报表(九)FineReport制作重叠分组报表(十)FineReport来弥补Excel的不足(十一)FineReport制作主子填报表(十二)FineReport实现网格式填报表(十三)FineReport归并分组报表(十四)FineReport制作不完全分组报表(十五)FineReport实现纵向分片(十六)FineReport制作自由格式报表(十七)FineReport实现多方面汇总统计(十九)FineReport制作多层交叉报表(二十)FineReport制作交叉报表(二十一)FineReport实现计算列的汇总(二十二)FineReport进行汇总统计(二十三)FineReport制作多层分组报表(二十四)FineReport制作分组报表(二十五)FineReport取数排序的实现(二十六)FineReport增加动态背景色(二十七)FineReport高亮显示设置(二十八)FineReport中显示格式和显示值的设置(二十九)FineReport填报之日期自动计算(三十)FineReport填报之数值自动计算(三十一)FineReport填报之合法性数据检查(三十二)第三章总结 (91)第一章 关于FineReport第一章FineReport简介FineReport报表工具提供了易用且高效率的报表设计方案,采用主流的数据双向扩展,真正无编码形式设计报表;拥有强大的报表展示功能,并且提供完善的报表权限管理,报表调度管理;具有完备的报表填报功能,支持多级汇总填报。

FineReport培训

FineReport培训
注意:主图表传递的参数名必须跟子图 表sql过滤中的参数名称一致
图表查询—条件显示
条件显示:让图表数据根据设计要求,显示不同效果,如柱 形图柱子颜色变红凸显。
条件显示遵循按照某个条件,显示某种特性原则, 多条件时,条件不能冲突。
图表查询—图表切换
图表切换:图形在页面上可以切换图形类型
如果切换的是同一类型的图表,如柱形和折线切 换,软件会自动继承数据;如果是不同的类型, 如柱形和饼图,可分别设置数据
高级报表—层次坐标
相对层次坐标:计算同期比、比上期之类的与时间相关的运算。而这些运算 往往需用到下一行的数据减上一行数据,后一列数据减前一列数据等等。这 种涉及到行间、列间的运算,称为位移运算,这种位移运算是通过相对层次 坐标来表示的。
定位规则为: Cellx[Lk:±lk,LK-1:±lk-1,......,L1:±l1;Tk:±tk,Tk-1:±tk-1......,T1:±t1]
将统一设置修改成单独设置
增删改页面工具栏按钮
参数查询—练习
数据集:sales_basic 功能:参数查询报表
图表——图表支持
15种图表类型,51种图表样式
柱形图、折线图、条形图、饼图、面积图、XY散点图、气泡图、雷 达图、股价图、仪表盘、全距图、组合图、地图、甘特图、gis地图
两种图表数据源
绝对层次坐标:
说明: Cellx:指目标单元格,是Lk,Lk-1...L1;Tk,Tk-1...T1的附属格。 Lk:指某个目标单元格Cellx的左父格,Lk的次序是从远到近的 lk:指左父格LK扩展后的次序,即扩展后的第几个单元格 Tk:指某个目标单元格Cellx的上父格,Tk的次序也是从远到近的 tk:指上父格Tk扩展后的次序,即扩展后的第几个单元格 注:如果只有左父格没有上父格,分号可以省略,即Cellx[Lk:lk,LK-1:lk1,......,L1:l1];如果只有上父格没有左父格,分号不能省略,即 Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]

类excel报表开发工具FineReport教程之服务器性能优化:内存

类excel报表开发工具FineReport教程之服务器性能优化:内存

类excel报表开发工具FineReport教程之服务器性能优化:内存JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及不同服务器内存的修改方式。

各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法。

JVM参数定义:-Xms:初始化内存大小-Xmx:可以使用的最大内存服务器内存的查看如果您想要查看应用服务器的内存配置情况,可以启动Web服务器,进入平台系统,URL地址为:http://localhost:8080/WebReport/ReportServer?op=fr_platform,选择管理系统>系统监控>系统状态>内存使用情况,即可查看到当前web服务器的内存使用情况,如下图:注:如果用户购买了数据决策系统,那么URL地址可以输入http://localhost:8075/WebReport/ReportServer?op=fs其中:空闲内存:204M是指可用剩余内存为:204M。

所有内存:247M是指当前调用的内存为:247M。

最大内存:494M是指可调用的最大内存为:494M。

FineReport内存机制1.描述在使用报表的过程中有时候会遇到内存溢出的问题,下面简单介绍我们报表的内存机制以及怎样释放内存。

2.内存机制2.1Java内存回收机制Java的内存垃圾回收(GC)机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。

GC为了能够正确释放对象,必须监控每一个对象的运行状态。

包括对象的申请、引用、被引用、赋值等,GC都需要进行监控。

在Java中,这些无用的对象都由GC负责回收,同时java提供了函数可以访问GC,如运行GC的函数System.gc(),但是根据Java语言规范定义,该函数不保证JVM的垃圾收集器一定会执行。

帆软fcra帮助树形文档

帆软fcra帮助树形文档
11)大屏数据可视化
大屏数据可视化设计指南
大屏数据可视化介绍
》大屏基础学习
》大屏数据实例方案
大屏FAQ
17)决策报表设计
决策报表设计
决策报表组件介绍
决策报表数据源
决策报表入门示例
》决策报表样式
》决策报表组件
》决策报表设计示例
5.报表设计
12)数据连接
数据连接支持范围
》JDBC典型应用
》JDBC连接池属性
》控件示例
》动态树报表
》Excel导入
》导出
》打印
》国际化
》编码专题
》session
修改文件后保存不成功
11.控件
20)性能优化
性能优化
》报表性能优化
》服务器性能优化
ห้องสมุดไป่ตู้性能优化插件
22)二次开发
二次开发
概述
》JavaScript
》引擎API
》插件
1)快速入门
快速入门
引言
设计器安装
硬件配置
》第一张模板
FineReport版本说明
》更新日志
》10.0升级兼容说明
FineReport升级指南
FineReport和FineBI的区别
FineReport资源分享
10.0安全模块基本配置入
1.入门基础
4.模板
9.设计器操作
2)设计思路
设计思路
》数据连接
》数据集
》模板设计类型
》模版预览
3.数据集
2.数据连接
3)报表设计
报表设计
单元格扩展
父子格设置
》报表设计示例
》报表设计样式
13)报表应用

FineReport性能问题处理方法总结

FineReport性能问题处理方法总结

FineReport性能问题处理方法总结性能问题处理方案汇总性能问题主要分为两个方面:1、服务器内存溢出;2、预览时,整个报表加载速度慢或者控件加载时间长。

一、服务器内存溢出问题从我们的报表可以集成的服务器和客户那边比较常用的服务器环境来看,主要有Tomcat服务器、Weblogic服务器、WebSphere 服务器和JBoss服务器,就我平时处理性能问题遇到的服务器主要有tomcat服务器,暂时没遇到后面三种服务器内存溢出的问题,今后遇到了再加进来。

故我主要整理一下tomcat服务器内存溢出的处理方法,其他服务器的处理方法先借用文档中增加内存的方案:Weblogic服务器:/help/4/3/0/0/1.htmlWebSphere 服务器:/help/4/3/0/0/2.htmlJBoss服务器:http:///help/4/3/0/0/3.html顺便提一下,我们设计器的内置jetty服务器的内存也可以修改,但是一般不会去增加这个服务器的内存,修改的地方为安装目录下bin文件夹中的designer.bat文件中..\ jre\bin\java-Xms512m-Xmx1024m修改一下-Xmx后面的值即可。

下面详细介绍一下tomcat服务器内存溢出的原因以及一般处理方法。

(一)、tomcat内存溢出的原因tomcat内存设置不好的话很容易出现内存溢出,造成内存溢出的原因不同的话,处理方式也不同。

我遇到过的内存溢出的有三大方面:OutOfMemoryError:Javaheapspace(堆溢出)OutOfMemoryError:PermanentGenerationspace(内存的永久保存区域溢出)OutOfMemoryError:unabletocreatenewnativethread(无法创建新的线程)堆溢出:JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置。

报表软件FineReport报表性能优化(5)

报表软件FineReport报表性能优化(5)

报表软件FineReport报表性能优化(5)修改缓存路径1. 问题描述若启用了磁盘缓存,默认的会在C:\Documents and Settings\Administrator\.FineReport80(windows XP下)下创建cache即缓存文件夹,一般呢,C盘的空间会很小,如保存在C盘会增加对C盘的压力,那么有没有方法让其保存到别的盘符下呢?win7及以上的系统:C:\User\用户名\.FineReport80linux系统:/usr/local/cachelinux/2. 解决方案通过修改%FR_HOME%\WebReport\WEB-INF\resources\目录下的cache.xml文件(报表管理平台中设置缓存,提交后会生成该文件,如果没有则新建),给Basic标签增加cacheDirectory属性,如将缓存文件保存在D:\Cache目录下,具体代码如下:注:Basic的cacheDirectory属性表示的就是缓存路径,另外一旦自定义缓存路径了,那么默认的缓存文件夹就会被自动删除。

按照上述的设置后,重启Web服务器,缓存文件将会保存在D盘Cache目录下,若没有Cache文件夹,会自动创建该文件夹;当web服务器关闭时,报表缓存会自动清除,即删除Cache文件夹的所有文件。

注:缓存路径一定要设置为某个独立的文件夹下,切忌与其他文件共用一个目录,如报表的缓存目录跟Web服务器工程的相同,则会删除web服务器工程下的内容。

优化调用Oracle存储过程1. 描述使用Oracle数据库,很多情况下会使用Oracle的存储过程作为数据集,实际情况下,当Oracle的表空间数据比较多【Oracle返回数据集的方式是存储包】,当在设计器中添加存储过程,会等待稍长一段时间。

这里Oracle中的表空间较多,而且数据较多,使用Oracle中的一个存储过程作为数据集,会出现等待时间较长的情况,如下图:当左侧存储过程显示出来以后,还要在搜索框输入存储过程名,又需要等待一段时间,如下图:2. 解决方案2.1 去掉显示Oracle所有表的配置点击文件>选项选择高级去掉展示Oracle所有表的选中状态。

报表软件FineReport报表性能优化(2)

报表软件FineReport报表性能优化(2)

报表软件FineReport报表性能优化(2)巧用参数注入1. 问题描述对于多数据集关联报表,当数据很大时报表的展现速度就会很慢,或通过写sql语句又很复杂。

为此FineReport提供一种,既可加快报表的展现速度,又不用编写复杂的sql语句的方案。

即使用动态参数注入功能。

2. 原理动态参数注入,是通过注入的值对数据库中的数据进行操作的,只是取对应的数据,所以会提高报表的性能。

3. 示例∙新建模板展现多个关联数据表的数据SQL语句,ds1:SELECT * FROM [订单]SQL语句,ds2:SELECT * FROM 订单明细∙报表样式传统做法:先定义多个数据集,然后在报表中设置过滤条件,或使用连接将多个数据表定义成一个sql,但这两种方案会产生的一系列问题(具体下面有介绍)。

而使用动态参数注入的功能可解决大数量报表展现的速度,下面对比看下这三种做法。

3.1 设置过滤此方法是定义两个数据集查询出所有数据,然后在报表中设置过滤条件。

分页预览query_like.cpt,从日志中可看出,是将第二个数据集中的数据全部取出了,如下所示:注:对于数据量大的报表,若将数据全部取出会降低报表的性能,因此会降低报表的展现速度。

3.2 定义sql若是采用将两个数据集定义成一个数据集,则SQL语句为:select a.订单ID,订购日期,到货日期,发货日期,产品ID,单价,数量,进价,折扣 from 订单 a,订单明细 b where a.订单ID=b.订单ID注:当数据集很多时,这样定义sql很麻烦,看了也觉得很复杂。

3.3 使用动态参数注入∙修改sql语句将上述模板中,数据集ds2的sql语句,修改成:SELECT * FROM [订单明细] where 订单ID =${orderid},并将参数orderid设置个默认值为订单ID中的一个值,如:10248。

∙参数注入设置双击原进行过滤的E2单元格,在弹出数据列对话框中,点击动态参数注入按钮,弹出动态参数注入对话框,然后点击插入:名字和值分别为数据集ds2的参数:orderid和数据集ds1对应数据列所在的单元格:A2,且同时删除过滤条件。

fineReport服务器配置

fineReport服务器配置

fineReport服务器配置FineReport是一款强大的企业级报表软件,它提供了丰富的功能和灵活的配置选项,帮助用户快速生成、分析和展示各类数据报表。

为了能够正常运行FineReport,合理的服务器配置是至关重要的。

本文将介绍FineReport服务器配置的相关内容,帮助您正确地配置服务器,提高FineReport的性能和稳定性。

一、硬件配置FineReport是一款功能强大的报表软件,对服务器的硬件配置要求相对较高。

以下是一些推荐的硬件配置要求:1. 处理器:建议采用多核的服务器CPU,处理器核心数越多,FineReport的并发处理能力就越强。

2. 内存:FineReport对内存的需求较大,建议至少配置8GB以上的内存。

如果有大量并发请求或者复杂的报表计算,可适当增加内存容量。

3. 存储:为了保证数据的高效读取和写入,建议使用高速的固态硬盘(SSD)或者RAID磁盘阵列。

4. 带宽:FineReport对网络带宽的要求较高,建议使用高速稳定的网络环境,以确保用户能够流畅地使用FineReport。

二、操作系统FineReport支持多种操作系统,包括Windows、Linux等。

根据您的实际需求和服务器环境,选择适合的操作系统。

1. Windows系统:FineReport对Windows的兼容性和稳定性较好,适用于小型和中型企业。

Windows Server 2012及以上版本是较好的选择。

2. Linux系统:FineReport对Linux的兼容性和稳定性也较好,适用于大型企业和高并发的场景。

常见的Linux发行版如CentOS、Ubuntu 等都可以使用。

三、数据库FineReport支持多种数据库,如MySQL、Oracle、SQL Server等。

根据您的实际需求和服务器环境,选择适合的数据库。

1. MySQL:MySQL是一款开源的关系型数据库,安装和配置较为简单,适用于小型和中型企业。

FineReport教程

FineReport教程
7
用 Web 报表工具—FineReport 实现排名(四)
排名 下面我们来看一下上述报表的实现过程 1.连接数据库 frDemo 2.设计报表 2.1 新建报表 2.2 表样设计 按照下图设计好报表的基本框架
表样设计 2.3 新建一数据集名为 ds1 SQL 语句:select 订单.货主城市,订单明细.单价*订单明细.数量 as 订单金额 from 订单,订单 明细 where 订单.订单 ID = 订单明细.订单 ID 2.4 绑定数据列
表样设计 2.3 新建一数据集名为 ds1 SQL 语句:select 供应商.城市,供应商.公司名称,供应商.联系人姓名,供应商.联系人职务 from 供应商
11
2.4 绑定数据列
绑定数据列 按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
内容
B2
ds1.城市
C2
ds1.公司名称
下面一章,我们就 FineReport 几点常用的报表功能做详细解说。
2
第二章 FineReport 功能详述 用 web 报表工具—FineReport 实现同期比(一)
同期比 同期比,指的是一个与时间相关的运算。上图报表显示的就是在同一年内每一个月份与上一个月 份的比值。 下面我们来看一下实现上述报表的过程 1.连接数据库 frDemo 2.设计报表 2.1 新建报表 2.2 表样设计 按照下图设计好报表的基本框架
更多详情:
10
用 Web 报表工具—FineReport 实现组内序号(五)
组内序号 上图显示了为每一个公司在自己所在城市内的编号。 下面我们来看一下上述报表的实现过程 1.连接数据库 frDemo 2.设计报表 2.1 新建报表 2.2 表样设计 按照下图设计好报表的基本框架

报表软件FineReport报表性能优化(4)

报表软件FineReport报表性能优化(4)

报表软件FineReport报表性能优化(4)多数据集实现层式报表1. 问题描述若报表使用的数据量是上百万条的话,觉得报表展现的速度慢,可以使用层式报表来提高报表展现速度。

但由层式报表章节可以得知,层式报表必须是单数据集,若是多数据集的模板且数据量又很大,想要提高报表的查询速度要如何实现呢?2. 实现思路在定义数据集时通过使用数据库本身的行序号或者使用数据库函数生成行序号(即行号)并且在where条件中通过页码参数使得行号在一定范围内显示,点击自定义的上一页下一页按钮时重新传入页码参数取出相应的数据。

注:SQL Server2000无法生成行号,因此需要定义存储过程实现分页查询,以下具体介绍Access实现分页的步骤,SQL Server2005以及Oracle数据库实现分页的步骤有一点区别,以下会详细介绍。

3. Access分页示例3.1 新建模板新建模板mutipage.cpt,为了加快展示速度,我们可以使用分页查询,获取每个产品的详细信息并计算产品对应的订单中的应付金额,因此添加数据集时查询SQL语句为select 产品.产品ID,产品名称, 供应商ID , 类别ID, 单位数量, 产品.单价, 产品.库存量, 产品.订购量,sum(应付金额) as 应付款项 from 产品,订单,订单明细 where 产品.产品ID=订单明细.产品ID and 订单明细.订单ID=订单.订单ID and 产品.产品ID between 10*(${page}-1)+1 and 10*${page} group by 产品.产品ID,产品名称, 供应商ID , 类别ID, 单位数量, 产品.单价, 产品.库存量, 产品.订购量 order by 产品.产品ID,设置参数page的默认值为1,首次看到的是第一页,只查询出第1~20条记录;若page参数为2时,查询出第21~40条记录,即第二页内容。

注:这边定义报表每页显示10条数据,即ds1的查询SQL一次只取10条数据,从而加快报表展示速度。

finereport操作手册

finereport操作手册

FineReport是一款功能强大的报表工具,广泛应用于企业级报表的制作和展示。

以下是FineReport的基本操作手册:
1.启动软件:打开FineReport Designer,你将看到一个直观的用户界面,包
括菜单栏、工具栏、画布区和属性面板。

2.新建报表:在菜单栏上,选择“文件”->“新建”,然后选择报表类型。

有多种类型的报表供你选择,包括表格、图表、交叉表等。

3.数据源配置:为你的报表配置数据源。

选择“数据”->“数据源”,然后
选择适合你数据源的类型,如数据库、Excel、API等。

4.报表设计:在画布区,你可以开始设计你的报表。

使用工具栏上的工具添
加控件、调整布局和格式化数据。

5.数据绑定:将数据源中的数据绑定到报表控件上。

在属性面板中,选择数
据集和相应的字段来绑定数据。

6.报表预览:完成设计后,你可以预览报表的效果。

点击工具栏上的“预
览”按钮或从菜单栏选择“预览”->“实时预览”。

7.导出和发布:当你满意报表的设计和效果时,可以选择导出为PDF、Excel
或其他格式,或发布到FineReport Server上进行共享和查看。

8.关闭软件:完成所有操作后,选择“文件”->“关闭”来关闭当前报表。

如果你想退出软件,选择“文件”->“退出”。

帆软认证报表工程师(FCRA)考试(试卷二)

帆软认证报表工程师(FCRA)考试(试卷二)

帆软认证报表工程师(FCRA)考试判断题共27题• 1.有时我们希望将模板发送给别人修改,导出模板时需要附带导出内置数据,导出时其实是作为两个文件存在的。

正确错误• 2.在表单设计时,参数栏默认就存在模板上方的,可以直接将控件放到上面。

正确错误• 3.决策系统默认的主题Classic,背景不能设置颜色正确错误• 4.模板单元格的内容是可以设置左缩进的正确错误• 5.模板单元格内容是不能设置导出不显示的功能正确错误• 6.FR填报的报表,不支持居中显示正确错误•7.控件在分页模式和数据分析模式下不显示正确错误•8.finereport注册并发数指同时有几个IP可以访问报表系统正确错误•9.按钮控件没有控件值属性正确错误•10.饼图、仪表图,地图、雷达图及甘特图,没有添加警戒线的功能。

正确错误•11.移动端H5报表与微信、钉钉的集成可通过官方提供的插件实现正确错误•12.移动端APP中在超链接中需要实现目标模板的填报预览可通过在链接后添加“&op=write”实现正确错误•13.普通报表cpt可以实现填报,决策报表没有办法实现填报。

正确错误•14.行式引擎支持单元格字段汇总求和正确错误•15.10.0中若需要在JS中引用SQL()函数,需要关闭安全管理中的调用脚本限制正确错误•16.在配置防火墙访问规则时,源地址,目的地址,服务或端口的范围必须以实际访问需求为前提,尽可能地缩小范围正确错误•17.10.0支持公有云认证正确错误•18.linux中,ifconfig命令用于显示或设置网络设备。

正确错误•19.windows系统下,设计器需要修改内存时,可以修改FineReport 安装目录\bin 下designer.vmoptions文件,正确错误•20.文件从windows系统上传上linux时,中文文件名可能会乱码,此时可以用convmv转码成utf-8正确错误•21.帆软的缓存文件夹在linux系统下是隐藏文件,需要用ls-a指令才能找到正确错误•22.8.0升级到10.0,可以对之前8.0配置的定时调度进行修改正确错误•23.目前钉钉推送消息内容支持显示图片消息、文件消息正确错误•24.填报属性中设置了多个内置SQL后,提交时有一个执行不通过的话,后面的内置SQL 就不会执行,前面的执行过的依旧有效正确错误•25.散点图不支持图表缩放功能正确错误•26.微信集成在内网环境的集成过程中,只需要服务器通过正向代理正常访问外网即可正确错误•27.finereport平台从10开始支持插件热部署(安装后不需要重启web容器使插件生效)正确错误单选题共22题•28.FineReport是一款利用( )语言开发的报表工具。

类excel报表开发工具FineReport教程之服务器性能优化:并发数

类excel报表开发工具FineReport教程之服务器性能优化:并发数

类excel报表开发工具FineReport教程之服务器性能优化:并发数报表工程总是和用户系统集成在一起,当服务器性能吃紧时,占用服务器资源的可能是报表引擎,服务器下的其他应用程序。

因此,减少任何一方对服务器资源的占用,都可以缓解压力。

当报表引擎已经没有优化余地时,如果服务器资源依旧吃紧,可以进一步对服务器整体进行优化,如优化服务器连接数等。

报表并发控制模板结果缓存与共享1.问题描述对报表进行访问时,若模板的数据很大,每次访问都会从服务器端重新读取数据,这样就加大了服务器的压力并且导致访问报表的速度变慢,为此可以设置模板缓存,使访问过模板后再次访问该模板时直接从缓存中读取而不需要从服务器端重新读取以此来减小服务器的压力以及提高报表的访问速度。

1.1读取模板缓存数据的条件必须是相同模板如该模板有参数则必须输入的参数值是相同的,即模板的展现结果是相同的。

2.原理下面我们以一个例子看下原理客户端A访问服务器上的报表设计模板,从数据库中读取,生成想要的模板结果文件,缓存到某处,并传回客户端。

而客户B访问服务器此模板时,若返回的结果与客户端A访问放回的结果相同,于是不从数据库中的读取,直接去拿A缓存的那些文件,然后传回客户端。

由此可以看出从缓存取模板结果远快于从数据库中读取数据。

3.设置方法可以对单个模板进行缓存设置,可以对所有模板进行缓存设置,下面我们分别看下设置方法。

3.1单个模板的缓存设置缓存设置在访问报表的路径后加&__cache__=true,表示该报表启用缓存,如:http://localhost:8075/WebReport/ReportServer?reportlet=GettingStarted.cpt &__cache__=true。

注:只有在访问模板的url后加__cache__=true,才会生成缓存数据,并且也只有在url 后加__cache__=true时,才会从缓存中读取数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

类excel报表开发工具FineReport教程之服务器性能优化:并发数报表工程总是和用户系统集成在一起,当服务器性能吃紧时,占用服务器资源的可能是报表引擎,服务器下的其他应用程序。

因此,减少任何一方对服务器资源的占用,都可以缓解压力。

当报表引擎已经没有优化余地时,如果服务器资源依旧吃紧,可以进一步对服务器整体进行优化,如优化服务器连接数等。

报表并发控制模板结果缓存与共享1.问题描述对报表进行访问时,若模板的数据很大,每次访问都会从服务器端重新读取数据,这样就加大了服务器的压力并且导致访问报表的速度变慢,为此可以设置模板缓存,使访问过模板后再次访问该模板时直接从缓存中读取而不需要从服务器端重新读取以此来减小服务器的压力以及提高报表的访问速度。

1.1读取模板缓存数据的条件必须是相同模板如该模板有参数则必须输入的参数值是相同的,即模板的展现结果是相同的。

2.原理下面我们以一个例子看下原理客户端A访问服务器上的报表设计模板,从数据库中读取,生成想要的模板结果文件,缓存到某处,并传回客户端。

而客户B访问服务器此模板时,若返回的结果与客户端A访问放回的结果相同,于是不从数据库中的读取,直接去拿A缓存的那些文件,然后传回客户端。

由此可以看出从缓存取模板结果远快于从数据库中读取数据。

3.设置方法可以对单个模板进行缓存设置,可以对所有模板进行缓存设置,下面我们分别看下设置方法。

3.1单个模板的缓存设置缓存设置在访问报表的路径后加&__cache__=true,表示该报表启用缓存,如:http://localhost:8075/WebReport/ReportServer?reportlet=GettingStarted.cpt &__cache__=true。

注:只有在访问模板的url后加__cache__=true,才会生成缓存数据,并且也只有在url 后加__cache__=true时,才会从缓存中读取数据。

缓存有效时间设置选择菜单模板>模板web属性即可设置,如下图:如某报表执行需要5秒中,设置的报表缓存有效时间为10秒,用户A第一次访问该报表时,会将报表结果缓存下来,缓存时间为15秒;从A刚开始访问报表的15秒内,若用户B同样访问了该报表,将直接获取A访问时的计算结果。

3.2所有模板的缓存设置进入FR平台系统中,选择管理系统>系统管理>缓存,勾去重新读取模板就可以启用缓存了。

注:是否重新加载报表意味着是否读取缓存,如果不重新加载报表,那么就是读取缓存的同一张模板的信息;如果重新加载报表,就是不读取缓存信息,重新运行报表。

服务器线程数优化1.服务器线程概念一般服务器都需要承受较高的访问量,能够同时响应不同用户的请求,在服务器中使用线程来处理接收的每个请求,若能够合理管理线程数,服务器就能够更好的在恶劣环境下保持较高的稳定性和健壮性。

各Web服务器管理线程主要用到如下几个参数:最小线程数:服务器最少保证的线程数;最大线程数:服务器并发处理的最大任务个数,超过该数时,请求会进入等待,等待空闲线程;最大等待时间:服务器线程数超过最大线程数,进入等待的请求,超过最大等待时间时,服务器会绝此次请求,返回connection refused。

2.如何设置服务器线程数一般的服务器操作都包括量方面:计算(主要消耗cpu)、等待(io、数据库等),最重要的参数就是“最大线程数”:第一种极端情况,如果我们的操作是纯粹的计算,那么系统响应时间的主要限制就是cpu 的运算能力,此时最大线程数应该尽量设的小,降低同一时间内争抢cpu的线程个数,可以提高计算效率,提高系统的整体处理能力。

第二种极端情况,如果我们的操作是纯粹IO或者数据库,那么响应时间的主要限制就变为等待外部资源,此时最大线程数应该尽量设的大,这样才能提高同时处理请求的个数,从而提高系统整体的处理能力。

此情况下因为tomcat同时处理的请求量会比较大,所以需要关注一下tomcat的虚拟机内存设置和linux的open file限制。

而现实应用中,我们的操作都会包含以上两种类型(计算、等待),所以最大线程数的配置并没有一个最优值,一定要根据具体情况来配置。

最好的做法是:在不断测试的基础上,不断调整、优化,才能得到最合理的配置。

Tomcat服务器并发数查看与修改1.问题描述用户访问某张报表时,服务器就使用一个线程来处理报表运算。

如果访问的人数太多且报表运算量大的话,同一时间争抢服务器cpu线程的人就会很多。

服务器响应能力就会减弱,所以我们需要合理控制服务器线程个数。

2.设置方法2.1设置方式我们可以通过修改Tomcat服务器的配置,来控制线程数。

打开%Tomcat_HOME%/conf/server.xml文档,找到<Connector port="8080"....>一栏。

在Connector port="8080"后面加上相应地参数控制线程数,控制参数如下:minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100设置完成后如同:<Connector port="8080"minProcessors="150" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"/> 2.2注意事项web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。

这里的连接数是无法直接给出最佳配置的,需要根据您的实际情况,在不断调整,不断测试的基础上,才能到到最合理配置。

1.问题描述用户访问某张报表时,服务器就使用一个线程来处理报表运算。

如果访问的人数太多且报表运算量大的话,同一时间争抢服务器cpu线程的人就会很多。

服务器响应能力就会减弱,所以我们需要合理控制服务器线程个数。

2.解决方案2.1修改Weblogic服务器并发Weblogic服务器不但修改xml文件来达到效果的,另外还要修改一下cmd文件。

2.2修改weblogic domain的config.xml文件在对应位置加入红色标注的两行内容:<server><name>admserver</name><self-tuning-thread-pool-size-min>5</self-tuning-thread-pool-size-min> <self-tuning-thread-pool-size-max>15</self-tuning-thread-pool-size-max> ...</server>2.3在startweblogic.cmd脚本中加入一下java启动参数-Dweblogic.configuration.schemaValidationEnabled=false修改Websphere服务器并发Websphere修改方法略有不同,是通过打开控制台,在对应位置进行修改即可;当然也可修改配置文件,控制台比较直观方便,启动服务器打开控制台找到如下位置,修改50和200,200就是最大线程数。

Jboss服务器并发数查看与修改1.问题描述用户访问某张报表时,服务器就使用一个线程来处理报表运算。

如果访问的人数太多且报表运算量大的话,同一时间争抢服务器cpu线程的人就会很多。

服务器响应能力就会减弱,所以我们需要合理控制服务器线程个数。

2.解决方案2.1修改Jboss服务器并发Jboss的版本不一样,对应的修改的位置也不一样,主要分为以下两种情况:Jboss4.0.2与jboss4.2.2.GA。

2.2Jboss4.0.2的连接数修改打开JBOSS目录jboss-4.0.2>server>default>deploy>jbossweb-tomcat55.sar 下的server.xml文件,修改连接数即可。

<Connector port="8080"address="${jboss.bind.address}"maxThreads="250" strategy="ms"maxHttpHeaderSize="8192"emptySessionPath="true" enableLookups="false"redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true"/>例如把250修改为300。

2.3jboss4.2.2.GA的连接数修改打开JBOSS目录jboss-4.2.2.GA>server>default>deploy>jboss-web.deployer 下的server.xml文件,修改连接数即可。

<Connector port="8080"address="${jboss.bind.address}"maxThreads="250" maxHttpHeaderSize="8192"emptySessionPath="true"protocol="HTTP/1.1" enableLookups="false"redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true"/>例如把250改成300。

注意:jboss-4.2.2.GA的server下有三个用户(all、default、minimal),我这里修改的是defaul用户,因为我经常用的是default这个用户,而其它的两个用户我就每去管它了。

相关文档
最新文档