帆软report-全流程
注意:上父格的设置,是受单元格限制的,也就是只有相邻的单元格并且是上下关系,才可以设置上下父格关系。多选框 和单选框的区别就在于,在设置多选框控件后要在多选框如下图处设置,返回类型。首先在红色处对我们的控件进行取名,然后在蓝色处对我们控件所要显示的值进行设置。因此在此项要求中,我们将每个需要随着订单id扩展的数据,左父格均设置订单id。设置参数的名字以及要传入的值,因为排序分升序、降序,这里我们设
一、创建一个简单报表的过程
1、定义取数数据源-即定义数据库连接
例如Mysql数据库可以使用如下方式进行连接
2、定义数据集(模版数据集、服务器数据集)
其中模版数据集针对模版内部使用,不能在多个模版之间通用
而服务器数据集可以在多个模版之间通用
3、制作报表
按照想制作报表的样式,制作报表(表格或者图形)
其中图形的数据集在如下界面配置(以及相关其他的配置)
4、保存预览报表
二、制作三线表格(四线等等)
如下图呈现形式:
在如下图处选择三线图
每分一个都要用 | 分隔开来
三、筛选框-对表格进行筛选(重点)
背景:如下方表格
要求:设置两个下拉筛选框,分别对地区以及销售员进行筛选
如图格式:
下面以两种方式进行呈现分别为单选以及多选
1、单选
(1)设置基本的筛选框模式,如下图:
从红色部分处拉出查询按钮,这是每个筛选框处都要有的
从绿色部分拉出文本框,以此对后面从蓝色部分拉出的单选框做解释
(2)配置筛选框的内部值
首先对于文本框
首先在红色处对我们的控件进行取名,然后在蓝色处对我们控件所要显示的值进行设置
接着对于单选框
首先对控件进行取名(后续在主表的sql中我们会引用这个控件名)
接着填写控件的值,这里我们是对每个空间筛选做了一张维度表,以地区为例
维度表如下:
按照字段填入地区维度表,并选择地区字段
接着筛选数据字典(这里选择数据查询)
(3)配置主表的参数,引用2中设置的下拉空间的控件名
select * from 销量
where 1=1
${if(len(地区筛选框)==0,"","and 地区 in('"+地区筛选框+"') ")}
${if(len(销售员筛选框)==0,"","and 销售员 in('"+销售员筛选框+"') ")}
/*
以地区为例,这里的实际意思是如果我们筛选地区,执行的sql为
select * from 销量
where 1=1
and 地区 in('地区筛选框')
若不筛选则执行的sql为
select * from 销量
where 1=1
所以 本质是 是否拼接 and 地区 in('地区筛选框')
*/
(4)完成配置进行页面查看
2、多选框
多选框 和单选框的区别就在于,在设置多选框控件后要在多选框如下图处设置,返回类型
其它无差异
四、上父格与左父格
如下图:展示每个订单信息都随着订单编号向下扩展
也就是我们在设置每个筛选框都要以订单id为父格进行筛选
注意:上父格的设置,是受单元格限制的,也就是只有相邻的单元格并且是上下关系,才可以设置上下父格关系
但是左父格的设置不受单元格限制,可以跨行、跨列设置;
因此在此项要求中,我们将每个需要随着订单id扩展的数据,左父格均设置订单id
(下图只展示了其中一个的设置)
五、图与图的联动设置
如上图当我们点击柱形图的相关地区时,另外两张图也要联动相关的的地区信息
设置如下
1、在 要被联动的图形的数据集里填写相应的连接参数,例如在饼图中:
select
t4.类别名称 as 类别名称
,round(sum(t1.应付金额),2) as 应付金额
from
订单 t1
left join 订单明细 t2
on t1.订单id = t2.订单id
left join 产品 t3
on t2.产品id=t3.产品id
left join 产品类别 t4
on t3.类别id = t4.类别id
where 货主地区 = '${area}'
group by
t4.类别名称
2、在要联动别的图的主表中(这里是柱形图),如下处进行相关设置:
在如上,点击添加链接
完成联动设置!
六、筛选框处---文本参数设置
如下图:要求在文本框处填写数字筛选出相应的数据条数
1、设置筛选框
给文本框取上相应的控件名
2、设置筛选的sql
select * from 销量
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}
/*select * from 销量
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}
若不填写则执行的sql为
select * from 销量
若填写
则执行的sql为
select * from 销量
limit (limit_c)
所以 本质是 是否拼接 limit (limit_c)
*/
七、设置排序
1、在页面处进行选择排序
点击要排序的字段选择超级链接,选择+号,添加动态参数
设置参数的名字以及要传入的值,因为排序分升序、降序,这里我们设置两个动态参数
参数名都为paixu、但是一个传asc 一个传desc
接着在sql中,添加接受参数的语句
select * from 销量
order by 销量 ${paixu}
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}
完成设置!!
2、设置一个筛选框进行排序,传参
如图设置一个筛选框
设置筛选框控件名,并为其添加数据字典
同理,更改sql接收参数
select * from 销量
order by 销量 ${choice}
${if(len(limit_c)==0,"","limit ('"+limit_c+"')")}
完成设置!!!
八、表格联动图
1、在需要被连接的图的数据集填写参数
如下图要用表格联动柱形图,则在柱形图的数据集中写参数
select * from 销量
where 1=1
${if(len(area)==0,"","and 地区 in ('"+area+"')")}
2、在需要去联动的表格处 添加动态参数
如图我们是要用表格的地区去联动柱形图,我们选择表格的地区数据的单元格处的超链接,然后点击加号
添加动态参数
输入我们在1中数据集中写的参数,然后值处我们选择公式 填写三个$(代表传递本单元格的值给这个参数)
3、页面浏览
保存我们页面浏览
发现地区都已被加深蓝色,我们点击其中一个地区,发现联动成功
九、表格联动悬浮图
同 在 八中的操作,悬浮图其实也是图(柱形图,饼图等)
所以我们也要先在图所基于的数据集中填写相应的联动参数
这里我们取八中的图所依赖的数据集做演示
1、在要去联动的悬浮图数据集中填写参数
2、配置悬浮图
选择我们需要去联动悬浮图的单元格,这里是表格中的地区
然后同理点击超链接,点击加号
选择悬浮窗图标
在弹出的图表设计中
首先点击超链,在参数处,同理填写我们设置的参数,值选择公式 并填写三个$
接着在数据处,配置图的数据来源
然后其他的就是一些关于图的设置,这里不做赘述了
3、页面浏览
上述配置完成后,我们浏览页面,选择我们的联动悬浮窗发现成功
十、填报报表
以下我们以订单表填报展示一下填报流程
1、设置填报表格(就像普通表格一样)这里我们选择订单表5个字段为例
2、为我们填报每个字段设置其对应的数据格式
例如 对于订单id,我们可以设置其为文本
对于订购日期等我们可以设置为日期
具体设置处如图
注意,对于订单id,其应为填报表的主键,在具体的业务过程中,其不能也不可能为空,为避免业务操作过程中误填空,所以我们需要对其设置,不允许为空
3、设置填报属性
填报属性在如图处
(1)点击内置sql
(2)选择智能提交,并选择填报的数据库和表
(3)点击智能添加字段,选择我们需要填报的字段
(4)点击智能添加单元格,为每个字段填写报表里对应的的单元格值
(5)勾选主键,勾选未修改不更新
4、测试填报
(1)选择填报预览
(2)发现报表如下,并且报表可以进行修改,修改的数据左上角会有红色标记
(3)测试下填报功能,我们选择增加数据
填写相应的数据
然后点击数据校验,右边出现校验成功
接着点击提交
(4)验证添加的数据是否成功
我们在订单表中查询我们刚刚添加订单
填报成功!!
十一、表格斑马条纹设置
我们以 十 中的填报表格为例,给订单编号每隔一行添加一个蓝色背景底纹
1、选择我们要操作的字段,选择条件属性,点击+号
2、点击+号,选择背景
3、选择背景的颜色,同时我们也可以在这里选择是作用于只是这个单元格(字段),还是整行、或者列,这里我们选择当前单元格
4、填写填充背景的逻辑,我们是每隔一行加一个背景
如下填写公式,并增加
5、预览效果
预览发现成功
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)