3-1 介绍
决策报表是 Finereport 设计器支持的模板设计类型其中之一。相较于普通报表和聚合报表,决策报表可以说其是专为大屏和移动端而生,用户通过简单的拖拽操作即可制作画面美观、内容丰富的管理驾驶舱,制作在手机、平板等移动设备端查看的敏捷报表。在同一个页面,整合不同的业务数据,完美展示企业的各类业务指标,实现数据的多维度分析。
3-2 创建决策报表
3-3 选择模版主题
3-4 创建数据集
3-5 设计界面介绍
3-6 拖拽组件
四、单元格设置
当单元格内容为数据列时,选中单元格,右侧「单元格元素」面板就会出现数据列属性设置框,或者双击单元格也可弹出数据列属性设置对话框
4-1 单元格扩展
单元格属性中的扩展属性主要包括单元格内容的扩展方向,设置单元格的左父格和上父格,可伸展方向以及扩展后排序规则。本文将对扩展属性进行简单的介绍。
扩展是有方向的,您可以选择记录是依次从上至下的显示,即纵向扩展(行方向的扩展);或者是依次从左到右的显示,即横向扩展(列方向的扩展);当然您也可以选择不扩展,在一个单元格中显示。
纵向拓展(默认)
横向拓展
不扩展
4-2 父子单元格扩展
父子格是跟单元格扩展息息相关的概念,单元格的扩展是针对具体的某一个单元格,当报表主体中绑定了多个单元格时,这些单元格在扩展时是否存在联系,其扩展方向是否会相互影响呢?
子格的扩展属性会随着父格的扩展属性变化,当单元格左侧或上方相邻的单元格具有扩展属性时,单元格默认其左侧相邻单元格为其左父格,默认上方相邻的单元格为其上父格
以「地区」和「销售员」这两个字段为例,这两个字段之间存在层级关系,每个地区下面会有多个不同的销售员。我们希望这两个字段在单元格扩展时,能够表现出他们之间的层级关系,也就是让这两个字段的数据能够分组展示。
默认父子格
地区在销售的左边,默认情况下,地区是销售员的左父格
地区和销售员员会一同扩展
无父子格
将销售员的左父格设置为无,则地区和销售不会一起扩展
4-3 单元的伸展
可扩展的单元格其左侧的单元格,并不会像普通的插入那样按常态分为新的行,而是整体被拉大的效果。即展示单元格中的内容时是不伸展展示,且要让其不随子格或同级别单元格的扩展而被拉大。对于单元格的可伸展性,可分为:纵向可伸展性与横向可伸展性。
上父格随着数据列进行横向扩展
上父格是非数据列,此时如果不想随着子格一起扩展,如何解决?
将上父格的横向可伸展取消
4-4 单元格样式
在演示中可设置文本,单元格,及对齐
4-5 数据格式
对数据展示内容的格式进行控制
准备订单数据进行演示
4-6 数据设置
对于有层级依赖关系的数据列有三种显示方式
分组 默认
列表
汇总
分组显示
列表显示
将地区列设置为列表
汇总显示
对于表中的数值类型字段,我们可以设置其聚合方式
一般配合分组一起使用
对维度数据进行分组,对指标数据进行汇总
比如:计算不同地区的销售总量
4-7 数据过滤
默认选中「将父格子作为过滤条件」,适用于父子格来自于同一个数据集。将父格作为过滤条件意味着在满足当前单元格条件的同时首先要以父格为条件,子格将继承父格的过滤条件,即如果父格设置了过滤,子格不需要再设置相同条件的过滤。
作用类似sql中的where
过滤销量在400以上的数据
使用公式过滤
使用参数过滤
多条件过滤,对多个数据进行过滤,采用与或非关系
4-8 数据排序
对数据列进行数据排序,还可以对排序后的数据进行筛选
五、模版参数使用
在FineReport设计器中,如果想动态的过滤数据,实现用户与数据的实时交互,使用参数可以实现效果
实现参数查询步骤:
定义参数:设置参数名称,添加参数,根据实际应用场景的需要选择不同类型的参数。
参数添加控件:控件是参数实现查询的载体,选择控件类型,通过将控件和参数绑定,实现在控件中输入参数值,能够过滤并查询出用户想要查看的数据。
设置参数面板样式:通过设置参数界面中控件位置,参数面板位置,背景色等等来改变控件栏的展示效果
5-1 参数定义
5-2 指定参数控件
5-3 添加控件事件
初始化触发
六、数据集参数
数有两种形式:模板参数与数据集参数
用模板参数,就需要先取出所有数据,再进行过滤,取数+过滤,将消耗大量时间,极大影响报表的查询效率。
而数据集参数在数据库查询时就已经完成了数据过滤,所以使用数据集参数设计的查询报表会比使用模板参数的效率高。
SQL 查询语句中,我们使用 数据集参数 ${参数} 动态地生成过滤条件,${参数} 执行结果与 SQL 语句拼接起来形成最终的查询语句,传递给数据库执行。
数据集参数还支持使用 FineReport 所有的内置函数,如 if 函数、len 函数等。除此以外,SQL 语句中还可以同时定义多个参数。
6-1 直接使用参数
格式 ${参数名}
如果数据是字符串数据需要在参数外指定引号