FineReport产品培训初级报表—工具准备FineReport设计器Tomcat服务器初级报表—工具界面菜单栏日志报表目录树数据集工具栏参数界面报表主体单元格内容及图表配置单元格属性初级报表—数据连接菜单栏》服务器》定义数据连接数据连接名修改成数据库/业务名字初级报表—数据集、sql参数过滤页面左下数据集名字修改成相应业务名字初级报表—数据集、sql参数过滤对于参数的增删改,需要点击刷新按钮初级报表—扩展与父子格数据库中多条数据,在设计器中占一个单元格该单元格在浏览器上又回归到多个单元格扩展:数据根据数据库里的内容,由设计器上的一个单元格,变成浏览器上的多个单元格初级报表—扩展与父子格扩展是具备方向性的横向扩展纵向扩展不扩展扩展的标志初级报表—扩展与父子格父格:根据其他单元格进行扩展初级报表—扩展与父子格左父格:控制纵向扩展上父格:控制横向扩展初级报表—扩展与父子格使用父格场景1:需要多条、多列数据,页面展示为一条使用父格场景2:需要一条、一列数据,页面展示为多列初级报表—扩展与父子格设置父格原则:认准数据统计的对象,对象是谁,父格设置为谁初级报表—三种预览方式分页预览单页面数据量过大时,可以将数据分成多页显示,减少单页面数据量,提高性能。填报预览用于页面数据的增、删、改工作。数据分析数据展示后,可以在线进行排序、筛选等操作,也可进行组织数据的折叠树设置。初级报表—练习数据集:销量功能:分组统计的交叉报表高级报表—多数据源关联从多个数据源中获取数据,进行关联后,在一个页面上展示多元关联注意点:过滤:页面数据从不同的地方获取到,需要对数据进行一一对应式的关联作用。父格:认准统计数据的对象。高级报表—自动分组与高级分组自动分组:FineReport根据数据库里的内容,自动进行相同项的合并。高级分组,人为控制数据展示的分组效果。高级报表—主子报表某个报表包含了一片或者多片区域,每一片区域都针对同一个对象,但是各区域又各自展示不同的主题,像这样的报表我们称之为主子报表。其中每一小片区域称为子报表,子报表构成的报表整体称为主报表。分为表单式主子报表和嵌入式主子报表。高级报表—主子报表表单式主子报表:表单式主子报表特点是用单个报表实现主子表的业务逻辑。一般包含多个数据集,通常由自由格式部分及列表格式部分组成,且为一对多,父与子的关系。高级报表—主子报表嵌入式主子报表:嵌入式主子报表特点是在单元格中嵌入独立的报表模板,嵌入的模板称为子报表,嵌入子报表后的整体称为主报表。各子报表间格式可以不对齐,子表与主表的格式也可以不对齐,子报表能够获取主表中的值。高级报表—聚合报表聚合报表:聚合报表指一个报表中包含多个模块,每一块都类似一张单独的报表或者一张图表,块与块之间相对独立,互不影响。高级报表—重复与冻结重复:多页报表,可以让表头在每页中重复出现选中需要重复的行,右键序号,选择“设置重复标题行即可”注意:重复标题需要从第一行开始设置高级报表—重复与冻结冻结:锁定行列,在拖动滚动条时,部分列不会跟随滚动冻结是在重复的基础上进行的,即先有重复,再有冻结在菜单栏》模板》重复与冻结设置高级报表—超级链接超级链接:多页面之间的相互跳转超级链接是指向某个单元格的,即在需要链接的单元格上右键设置注意:参数名称必须跟子模板的参数一致高级报表—层次坐标层次坐标:单元格之间的运算说明:Cellx:指目标单元格,是Lk,Lk-1...L1;Tk,Tk-1...T1的附属格。Lk:指某个目标单元格Cellx的左父格,Lk的次序是从远到近的lk:指左父格LK扩展后的次序,即扩展后的第几个单元格Tk:指某个目标单元格Cellx的上父格,Tk的次序也是从远到近的tk:指上父格Tk扩展后的次序,即扩展后的第几个单元格注:如果只有左父格没有上父格,分号可以省略,即Cellx[Lk:lk,LK-1:lk-1,......,L1:l1];如果只有上父格没有左父格,分号不能省略,即Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]绝对层次坐标:高级报表—层次坐标说明:Cellx:指目标单元格,是Lk,Lk-1...L1;Tk,Tk-1...T1的附属格。Lk:指某个目标单元格Cellx的左父格,Lk的次序是从远到近的lk:指左父格LK扩展后的次序,即扩展后的第几个单元格Tk:指某个目标单元格Cellx的上父格,Tk的次序也是从远到近的tk:指上父格Tk扩展后的次序,即扩展后的第几个单元格注:如果只有左父格没有上父格,分号可以省略,即Cellx[Lk:lk,LK-1:lk-1,......,L1:l1];如果只有上父格没有左父格,分号不能省略,即Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]相对层次坐标:计算同期比、比上期之类的与时间相关的运算。而这些运算往往需用到下一行的数据减上一行数据,后一列数据减前一列数据等等。这种涉及到行间、列间的运算,称为位移运算,这种位移运算是通过相对层次坐标来表示的。定位规则为:Cellx[Lk:±lk,LK-1:±lk-1,......,L1:±l1;Tk:±tk,Tk-1:±tk-1......,T1:±t1]参数查询—参数过滤参数:用来放置传递数据的载体参数过滤:根据参数传递过来的值,对数据进行数据筛选Sql过滤报表过滤参数查询—参数控件参数控件:用来给参数传递数据在参数窗体内,设置控件注意点1:控件名称需要跟参数名称一致注意点2:所有的控件名称不能相同参数查询—数据字典数据字典:给下拉框等提供数据区别于“控件值”,控件值指控件的“默认值”,数据字典指控件下拉值数据库表:直接从数据库中获取值数据查询:数据集通过sql准备好数据,控件从数据集获取数据自定义:手工书写下拉值公式:以函数计算的方式得到下拉值参数查询—参数联动参数联动:多参数控件之间值的联动控制联动控件之间必须有从属关系参数查询—参数为空参数为空:如果参数控件没有选择值,报表能够得到一定的值,通常用于参数为空选择全部值。实现方式:在sql里面判断参数是否为空,在sql中引入帆软的if()函数。if()函数,if(true,A,B),如果判断条件正确,执行A,否则执行B。FineReport里判断是否为空,一般使用len()函数,获取它的长度;如果为空长度为0在sql中,FineReport执行的是双引号内的内容。在函数中,参数用“+”拼接的方式,放在函数中。参数查询—多选框多选框:可以多项选择的控件,如下拉复选框注意事项1:sql过滤使用IN()的方式注意事项2:如果过滤对象是字符串型,需要对下拉复选框属性做调节1.将分隔符改为“‘,’”;2.勾选“返回字符串”。常用功能—形态形态:控制数据的展现,将原有的效果“翻译”成对应的值形态是针对单元格的,点击需要修改的单元格,在右下单元格属性中选择“形态”配置原则,为“实际值”对应单元格的值;“显示值”对应需要展现的值如左图,单元格里放置的是产品ID值,通过形态翻译后,显示给用户看的就是产品名称了常用功能—条件属性条件属性:根据条件触发相应属性,让页面数据有不同的展现条件属性在单元格上设置,右键选择条件属性。点击增加按钮,添加条件属性点击增加按钮,新增属性添加判断条件常用功能—分页控制分页:数据超过页面大小,就会进入下一页显示不分页控制:控制页面大小,使得原本超过页面的数据,在一页中显示页面设置:控制页面大小,在菜单栏》模板》页面设置填报预览、数据分析:利用FineReport中填报预览和数据分析不分页的特性,实现数据不分页。常用功能—web属性Web属性:页面属性的控制,主要控制页面工具栏、引入外部文件,控制展现样式等在菜单栏》模板》模板web属性根据数据预览的方式,选择设置页面将统一设置修改成单独设置增删改页面工具栏按钮参数查询—练习数据集:sales_basic功能:参数查询报表图表——图表支持数据集数据源:数据来自于数据集表,适用于报表中仅需图表无需表格时格子数据源:数据来自于报表某片格子数据区域,适用于报表中既有数据又有图表15种图表类型,51种图表样式两种图表数据源支持悬浮元素图表和单元格图表两种模式可以多种组合设计随心所欲的图表组合柱形图、折线图、条形图、饼图、面积图、XY散点图、气泡图、雷达图、股价图、仪表盘、全距图、组合图、地图、甘特图、gis地图图表分类图表种类FineReport提供两种图表设置方法:单元格元素和悬浮元素单元格元素:图表放置在单元格里面,位置固定,方便定位悬浮元素:图表悬浮在数据上面,位置随意,任意拖拽菜单栏》插入》单元格元素\悬浮元素》插入图表图表设置图表属性配置说明类型:用于控制图表的种类数据:给图形提供数据样式:美化图形特效:设置图形特殊效果图表查询—数据集数据/单元格数据数据集数据:直接从数据集中获取数据单元格数据优点:没有中间环节,运行数据快,设置简单优点:设置跟excel图表一样,而且可以通过单元格计算、筛选等,获取更复杂的图表分析数据图表查询—数据集数据/单元格数据分类轴:控制图形的X轴系列名:控制每个分类有多少的分析项分类轴系列名系列值:控制每个系列的长度系列值图表查询—图表联动图表联动:多个图形之间的联动关系,即主子图表中参数的互相传递注意:主图表传递的参数名必须跟子图表sql过滤中的参数名称一致图表查询—条件显示条件显示:让图表数据根据设计要求,显示不同效果,如柱形图柱子颜色变红凸显。条件显示遵循按照某个条件,显示某种特性原则,多条件时,条件不能冲突。图表查询—图表切换图表切换:图形在页面上可以切换图形类型如果切换的是同一类型的图表,如柱形和折线切换,软件会自动继承数据;如果是不同的类型,如柱形和饼图,可分别设置数据图表查询—组合图组合图:在一个图上放置多个图形效果,并提供两个Y轴,分别作为数据标示组合图数据设置方法跟柱形图类似,只是会在条件显示处,自动添加两个条件属性,用来控制坐标轴的选择。图表查询—地图地图:平面区域地图,用于区域性统计。预定义地图:FineReport内置的地图,世界地图、中国地图、各省市地图地图的配置跟普通图形配置类似选择图形选择数据注意:如果地图配置好,但是页面没有数据,需要确定区域名是否跟FineReport内置名称对应修改成数据库中的区域名图表查询—地图自定义地图:通过区域图片,配置数据地图地图要求:svg格式,封闭的区域。(另有位图地图,设置方式类似)双击选择的区域,在弹出框内写上区域名图表查询—地图下钻地图下钻:通过点击区域,进入下一个地图区域数据选择,需要“多层钻取”,确保下钻文件夹下有对应的区域选择“钻取数据”,分别切换层级,设置不同的数据配置的方法跟普通地图一样,只需要设置底层数据即可填报—填报设置基本步骤填报:在页面对数据的增删改操作填报四部曲:1.添加控件:在需要填报的单元格上添加控件填报控件的作用:有填报控件的地方,才能在浏览器页面填报数据填报—填报设置基本步骤2.填报单元格与数据库表中字段绑定菜单栏》模板》报表填报属性主键主键:数据唯一性的标示作用:1.判断填报数据录入到数据库字段的位置;2.判断填报工作执行的是更新提交,还是掺入提交判断逻辑:通过哪些字段能够找到需要修改的数据填报—填报设置基本步骤3.设置填报的web属性作用:提供填报需要的填报工具栏菜单栏》模板》模板web属性》填报页面设置修改“采用服务器设置”为“为模板单独设置”,保证“使用工具栏”是勾选上的填报—填报设置基本步骤4.使用填报预览作用:触发填报设置填报—填报的增、删、改在线的对数据进行增、删、改工作操作遵循填报四部曲增删:通过“插入行”和“删除行”按钮实现注意“指定单元格”设置需要插入的层级示例见右图填报—填报校验填报校验:数据在入库前,对数据的格式、有效性等进行校验校验分为:及时校验、提交校验及时校验:数据在界面上录入时,就进行校验通过控件自带的校验规则或js实现特点:校验迅速,录入完毕,鼠标移到其它单元格,点击即触发校验填报—填报校验提交校验:数据录入完毕,在提交时校验设置位置:菜单